Commit b070e462a803ee0ff866fa1bf446a0e813bbcc18
1 parent
dd0cd89f
1.
Showing
57 changed files
with
1374 additions
and
2284 deletions
Too many changes to show.
To preserve performance only 57 of 150 files are displayed.
src/main/java/com/bsth/Application.java
| 1 | 1 | package com.bsth; |
| 2 | 2 | |
| 3 | +import com.fasterxml.jackson.annotation.JsonInclude; | |
| 3 | 4 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 4 | 5 | import com.fasterxml.jackson.databind.SerializationFeature; |
| 5 | 6 | import org.springframework.boot.SpringApplication; |
| ... | ... | @@ -7,12 +8,14 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; |
| 7 | 8 | import org.springframework.boot.builder.SpringApplicationBuilder; |
| 8 | 9 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; |
| 9 | 10 | import org.springframework.context.annotation.Bean; |
| 11 | +import org.springframework.context.annotation.EnableAspectJAutoProxy; | |
| 10 | 12 | import org.springframework.context.annotation.Primary; |
| 11 | 13 | import org.springframework.transaction.annotation.EnableTransactionManagement; |
| 12 | 14 | |
| 13 | 15 | import java.util.concurrent.Executors; |
| 14 | 16 | import java.util.concurrent.ScheduledExecutorService; |
| 15 | 17 | |
| 18 | +@EnableAspectJAutoProxy | |
| 16 | 19 | @EnableTransactionManagement |
| 17 | 20 | @SpringBootApplication |
| 18 | 21 | public class Application extends SpringBootServletInitializer { |
| ... | ... | @@ -27,10 +30,11 @@ public class Application extends SpringBootServletInitializer { |
| 27 | 30 | @Bean |
| 28 | 31 | @Primary |
| 29 | 32 | public ObjectMapper objectMapper() { |
| 30 | - ObjectMapper objectMapper = new ObjectMapper(); | |
| 31 | - objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); | |
| 33 | + ObjectMapper mapper = new ObjectMapper(); | |
| 34 | + mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); | |
| 35 | + mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); | |
| 32 | 36 | |
| 33 | - return objectMapper; | |
| 37 | + return mapper; | |
| 34 | 38 | } |
| 35 | 39 | |
| 36 | 40 | public static void main(String[] args) throws Exception { | ... | ... |
src/main/java/com/bsth/annotation/BusinessDescription.java
0 → 100644
| 1 | +package com.bsth.annotation; | |
| 2 | + | |
| 3 | +import java.lang.annotation.ElementType; | |
| 4 | +import java.lang.annotation.Retention; | |
| 5 | +import java.lang.annotation.RetentionPolicy; | |
| 6 | +import java.lang.annotation.Target; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * @author Hill | |
| 10 | + */ | |
| 11 | +@Retention(RetentionPolicy.RUNTIME) | |
| 12 | +@Target(ElementType.METHOD) | |
| 13 | +public @interface BusinessDescription { | |
| 14 | + | |
| 15 | + /** | |
| 16 | + * 业务描述内容 | |
| 17 | + * @return | |
| 18 | + */ | |
| 19 | + String value(); | |
| 20 | +} | ... | ... |
src/main/java/com/bsth/controller/BaseController.java
| 1 | -package com.bsth.controller; | |
| 2 | - | |
| 3 | -import com.bsth.service.BaseService; | |
| 4 | -import com.google.common.base.Splitter; | |
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | -import org.springframework.data.domain.Page; | |
| 7 | -import org.springframework.data.domain.PageRequest; | |
| 8 | -import org.springframework.data.domain.Sort; | |
| 9 | -import org.springframework.data.domain.Sort.Direction; | |
| 10 | -import org.springframework.web.bind.annotation.PathVariable; | |
| 11 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 12 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 13 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 14 | - | |
| 15 | -import java.io.Serializable; | |
| 16 | -import java.util.ArrayList; | |
| 17 | -import java.util.List; | |
| 18 | -import java.util.Map; | |
| 19 | - | |
| 20 | -/** | |
| 21 | - * @param <T> | |
| 22 | - * @param <ID> 主键类型 | |
| 23 | - * @author PanZhao | |
| 24 | - * @ClassName: BaseController | |
| 25 | - * @Description: TODO(基础的Controller实现) | |
| 26 | - * @date 2016年3月17日 下午12:44:06 | |
| 27 | - */ | |
| 28 | -public class BaseController<T, ID extends Serializable> { | |
| 29 | - | |
| 30 | - @Autowired | |
| 31 | - protected BaseService<T, ID> baseService; | |
| 32 | - | |
| 33 | - /** | |
| 34 | - * @param @param map 查询条件 | |
| 35 | - * @param @param page 页码 | |
| 36 | - * @param @param size 每页显示数量 | |
| 37 | - * @throws | |
| 38 | - * @Title: list | |
| 39 | - * @Description: TODO(多条件分页查询) | |
| 40 | - */ | |
| 41 | - @RequestMapping(method = RequestMethod.GET) | |
| 42 | - public Page<T> list(@RequestParam Map<String, Object> map, | |
| 43 | - @RequestParam(defaultValue = "0") int page, | |
| 44 | - @RequestParam(defaultValue = "10") int size, | |
| 45 | - @RequestParam(defaultValue = "id") String order, | |
| 46 | - @RequestParam(defaultValue = "DESC") String direction) { | |
| 47 | - | |
| 48 | - // 允许多个字段排序,order可以写单个字段,也可以写多个字段 | |
| 49 | - // 多个字段格式:{col1},{col2},{col3},....,{coln} | |
| 50 | - List<String> order_columns = Splitter.on(",").trimResults().splitToList(order); | |
| 51 | - // 多字段排序:DESC,ASC... | |
| 52 | - List<String> order_dirs = Splitter.on(",").trimResults().splitToList(direction); | |
| 53 | - | |
| 54 | - if (order_dirs.size() == 1) { // 所有字段采用一种排序 | |
| 55 | - if (null != order_dirs.get(0) && order_dirs.get(0).equals("ASC")) { | |
| 56 | - return baseService.list(map, new PageRequest(page, size, new Sort(Direction.ASC, order_columns))); | |
| 57 | - } else { | |
| 58 | - return baseService.list(map, new PageRequest(page, size, new Sort(Direction.DESC, order_columns))); | |
| 59 | - } | |
| 60 | - } else if (order_columns.size() == order_dirs.size()) { | |
| 61 | - List<Sort.Order> orderList = new ArrayList<>(); | |
| 62 | - for (int i = 0; i < order_columns.size(); i++) { | |
| 63 | - if (null != order_dirs.get(i) && order_dirs.get(i).equals("ASC")) { | |
| 64 | - orderList.add(new Sort.Order(Direction.ASC, order_columns.get(i))); | |
| 65 | - } else { | |
| 66 | - orderList.add(new Sort.Order(Direction.DESC, order_columns.get(i))); | |
| 67 | - } | |
| 68 | - } | |
| 69 | - return baseService.list(map, new PageRequest(page, size, new Sort(orderList))); | |
| 70 | - } else { | |
| 71 | - throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致"); | |
| 72 | - } | |
| 73 | - } | |
| 74 | - | |
| 75 | - /** | |
| 76 | - * @param @param map | |
| 77 | - * @throws | |
| 78 | - * @Title: list | |
| 79 | - * @Description: TODO(多条件查询) | |
| 80 | - */ | |
| 81 | - @RequestMapping(value = "/all", method = RequestMethod.GET) | |
| 82 | - public Iterable<T> list(@RequestParam Map<String, Object> map) { | |
| 83 | - return baseService.list(map); | |
| 84 | - } | |
| 85 | - | |
| 86 | - /** | |
| 87 | - * @param @param t | |
| 88 | - * @param @return 设定文件 | |
| 89 | - * @return Map<String,Object> {status: 1(成功),-1(失败)} | |
| 90 | - * @throws | |
| 91 | - * @Title: save | |
| 92 | - * @Description: TODO(持久化对象) | |
| 93 | - */ | |
| 94 | - @RequestMapping(method = RequestMethod.POST) | |
| 95 | - public Map<String, Object> save(T t) { | |
| 96 | - return baseService.save(t); | |
| 97 | - } | |
| 98 | - | |
| 99 | - /** | |
| 100 | - * @param @param id | |
| 101 | - * @throws | |
| 102 | - * @Title: findById | |
| 103 | - * @Description: TODO(根据主键获取单个对象) | |
| 104 | - */ | |
| 105 | - @RequestMapping(value = "/{id}", method = RequestMethod.GET) | |
| 106 | - public T findById(@PathVariable("id") ID id) { | |
| 107 | - return baseService.findById(id); | |
| 108 | - } | |
| 109 | - | |
| 110 | - /** | |
| 111 | - * @param @param id | |
| 112 | - * @throws | |
| 113 | - * @Title: delete | |
| 114 | - * @Description: TODO(根据主键删除对象) | |
| 115 | - */ | |
| 116 | - @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) | |
| 117 | - public Map<String, Object> delete(@PathVariable("id") ID id) { | |
| 118 | - return baseService.delete(id); | |
| 119 | - } | |
| 120 | - | |
| 121 | -} | |
| 1 | +package com.bsth.controller; | |
| 2 | + | |
| 3 | +import com.bsth.service.BaseService; | |
| 4 | +import com.google.common.base.Splitter; | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.data.domain.Page; | |
| 7 | +import org.springframework.data.domain.PageRequest; | |
| 8 | +import org.springframework.data.domain.Sort; | |
| 9 | +import org.springframework.data.domain.Sort.Direction; | |
| 10 | +import org.springframework.web.bind.annotation.PathVariable; | |
| 11 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 12 | +import org.springframework.web.bind.annotation.RequestMethod; | |
| 13 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 14 | + | |
| 15 | +import java.io.Serializable; | |
| 16 | +import java.util.ArrayList; | |
| 17 | +import java.util.Arrays; | |
| 18 | +import java.util.List; | |
| 19 | +import java.util.Map; | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * @param <T> | |
| 23 | + * @param <ID> 主键类型 | |
| 24 | + * @author PanZhao | |
| 25 | + * @ClassName: BaseController | |
| 26 | + * @Description: TODO(基础的Controller实现) | |
| 27 | + * @date 2016年3月17日 下午12:44:06 | |
| 28 | + */ | |
| 29 | +public class BaseController<T, ID extends Serializable> { | |
| 30 | + | |
| 31 | + @Autowired | |
| 32 | + protected BaseService<T, ID> baseService; | |
| 33 | + | |
| 34 | + /** | |
| 35 | + * @param @param map 查询条件 | |
| 36 | + * @param @param page 页码 | |
| 37 | + * @param @param size 每页显示数量 | |
| 38 | + * @throws | |
| 39 | + * @Title: list | |
| 40 | + * @Description: TODO(多条件分页查询) | |
| 41 | + */ | |
| 42 | + @RequestMapping(method = RequestMethod.GET) | |
| 43 | + public Page<T> list(@RequestParam Map<String, Object> map, | |
| 44 | + @RequestParam(defaultValue = "0") int page, | |
| 45 | + @RequestParam(defaultValue = "10") int size, | |
| 46 | + @RequestParam(defaultValue = "id") String order, | |
| 47 | + @RequestParam(defaultValue = "DESC") String direction) { | |
| 48 | + | |
| 49 | + // 允许多个字段排序,order可以写单个字段,也可以写多个字段 | |
| 50 | + // 多个字段格式:{col1},{col2},{col3},....,{coln} | |
| 51 | + List<String> order_columns = Splitter.on(",").trimResults().splitToList(order); | |
| 52 | + // 多字段排序:DESC,ASC... | |
| 53 | + List<String> order_dirs = Splitter.on(",").trimResults().splitToList(direction); | |
| 54 | + | |
| 55 | + if (order_dirs.size() == 1) { // 所有字段采用一种排序 | |
| 56 | + if (null != order_dirs.get(0) && order_dirs.get(0).equals("ASC")) { | |
| 57 | + return baseService.list(map, new PageRequest(page, size, new Sort(Direction.ASC, order_columns))); | |
| 58 | + } else { | |
| 59 | + return baseService.list(map, new PageRequest(page, size, new Sort(Direction.DESC, order_columns))); | |
| 60 | + } | |
| 61 | + } else if (order_columns.size() == order_dirs.size()) { | |
| 62 | + List<Sort.Order> orderList = new ArrayList<>(); | |
| 63 | + for (int i = 0; i < order_columns.size(); i++) { | |
| 64 | + if (null != order_dirs.get(i) && order_dirs.get(i).equals("ASC")) { | |
| 65 | + orderList.add(new Sort.Order(Direction.ASC, order_columns.get(i))); | |
| 66 | + } else { | |
| 67 | + orderList.add(new Sort.Order(Direction.DESC, order_columns.get(i))); | |
| 68 | + } | |
| 69 | + } | |
| 70 | + return baseService.list(map, new PageRequest(page, size, new Sort(orderList))); | |
| 71 | + } else { | |
| 72 | + throw new RuntimeException("多字段排序参数格式问题,排序顺序和字段数不一致"); | |
| 73 | + } | |
| 74 | + } | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * @param @param map | |
| 78 | + * @throws | |
| 79 | + * @Title: list | |
| 80 | + * @Description: TODO(多条件查询) | |
| 81 | + */ | |
| 82 | + @RequestMapping(value = "/all", method = RequestMethod.GET) | |
| 83 | + public Iterable<T> list(@RequestParam Map<String, Object> map) { | |
| 84 | + return baseService.list(map); | |
| 85 | + } | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * @param @param map | |
| 89 | + * @throws | |
| 90 | + * @Title: list | |
| 91 | + * @Description: TODO(多条件查询) | |
| 92 | + */ | |
| 93 | + @RequestMapping(value = "/findAll", method = RequestMethod.GET) | |
| 94 | + public List<T> findAll(@RequestParam Map<String, Object> map, | |
| 95 | + @RequestParam(defaultValue = "id") String order, | |
| 96 | + @RequestParam(defaultValue = "DESC") String direction) { | |
| 97 | + String[] columns = order.split(","), directions = direction.split(","); | |
| 98 | + if (columns.length != directions.length) { | |
| 99 | + throw new IllegalArgumentException("不合法的排序参数"); | |
| 100 | + } | |
| 101 | + | |
| 102 | + List<Sort.Order> orders = new ArrayList<>(); | |
| 103 | + for (int i = 0;i < columns.length;i++) { | |
| 104 | + String column = columns[i], direction1 = directions[i]; | |
| 105 | + if ("DESC".equals(direction1)) { | |
| 106 | + orders.add(Sort.Order.desc(column)); | |
| 107 | + } else if ("ASC".equals(direction1)) { | |
| 108 | + orders.add(Sort.Order.asc(column)); | |
| 109 | + } else { | |
| 110 | + throw new IllegalArgumentException("不合法的排序参数"); | |
| 111 | + } | |
| 112 | + } | |
| 113 | + | |
| 114 | + return baseService.findAll(map, Sort.by(orders)); | |
| 115 | + } | |
| 116 | + | |
| 117 | + /** | |
| 118 | + * @param @param t | |
| 119 | + * @param @return 设定文件 | |
| 120 | + * @return Map<String,Object> {status: 1(成功),-1(失败)} | |
| 121 | + * @throws | |
| 122 | + * @Title: save | |
| 123 | + * @Description: TODO(持久化对象) | |
| 124 | + */ | |
| 125 | + @RequestMapping(method = RequestMethod.POST) | |
| 126 | + public Map<String, Object> save(T t) { | |
| 127 | + return baseService.save(t); | |
| 128 | + } | |
| 129 | + | |
| 130 | + /** | |
| 131 | + * @param @param id | |
| 132 | + * @throws | |
| 133 | + * @Title: findById | |
| 134 | + * @Description: TODO(根据主键获取单个对象) | |
| 135 | + */ | |
| 136 | + @RequestMapping(value = "/{id}", method = RequestMethod.GET) | |
| 137 | + public T findById(@PathVariable("id") ID id) { | |
| 138 | + return baseService.findById(id); | |
| 139 | + } | |
| 140 | + | |
| 141 | + /** | |
| 142 | + * @param @param id | |
| 143 | + * @throws | |
| 144 | + * @Title: delete | |
| 145 | + * @Description: TODO(根据主键删除对象) | |
| 146 | + */ | |
| 147 | + @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) | |
| 148 | + public Map<String, Object> delete(@PathVariable("id") ID id) { | |
| 149 | + return baseService.delete(id); | |
| 150 | + } | |
| 151 | + | |
| 152 | +} | ... | ... |
src/main/java/com/bsth/controller/LineController.java
| ... | ... | @@ -136,14 +136,4 @@ public class LineController extends BaseController<Line, Integer> { |
| 136 | 136 | public Map<String, Object> remove(Integer id){ |
| 137 | 137 | return service.remove(id); |
| 138 | 138 | } |
| 139 | - | |
| 140 | - /** | |
| 141 | - * 查询外部行业编码是否有更新 | |
| 142 | - * @param id | |
| 143 | - * @return | |
| 144 | - */ | |
| 145 | - @RequestMapping(value ="/getLineMatchStationIsUpdate" , method = RequestMethod.GET) | |
| 146 | - public Map<String, Object> getLineMatchStationIsUpdate(@RequestParam(defaultValue = "id") Integer id){ | |
| 147 | - return service.getLineMatchStationIsUpdate(id); | |
| 148 | - } | |
| 149 | 139 | } | ... | ... |
src/main/java/com/bsth/controller/LsSectionRouteController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | +import com.bsth.entity.LsSectionRoute; | |
| 5 | +import com.bsth.entity.LsStationRoute; | |
| 4 | 6 | import com.bsth.entity.SectionRoute; |
| 5 | 7 | import com.bsth.service.LsSectionRouteService; |
| 6 | 8 | import org.slf4j.Logger; |
| 7 | 9 | import org.slf4j.LoggerFactory; |
| 8 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | +import org.springframework.data.domain.Page; | |
| 9 | 12 | import org.springframework.web.bind.annotation.RequestMapping; |
| 10 | 13 | import org.springframework.web.bind.annotation.RequestMethod; |
| 11 | 14 | import org.springframework.web.bind.annotation.RequestParam; |
| ... | ... | @@ -34,13 +37,22 @@ import java.util.Map; |
| 34 | 37 | |
| 35 | 38 | @RestController |
| 36 | 39 | @RequestMapping("/api/lssectionroute") |
| 37 | -public class LsSectionRouteController extends BaseController<SectionRoute, Integer> { | |
| 40 | +public class LsSectionRouteController extends BaseController<LsSectionRoute, Integer> { | |
| 38 | 41 | |
| 39 | 42 | private final static Logger log = LoggerFactory.getLogger(LsSectionRouteController.class); |
| 40 | 43 | |
| 41 | 44 | @Autowired |
| 42 | 45 | private LsSectionRouteService lsSectionRouteService; |
| 43 | 46 | |
| 47 | + @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET) | |
| 48 | + public Page<LsSectionRoute> findPageByParams(@RequestParam Map<String, Object> params) { | |
| 49 | + int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString()); | |
| 50 | + int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString()); | |
| 51 | + String order = params.get("order").toString(), direction = params.get("direction").toString(); | |
| 52 | + | |
| 53 | + return super.list(params, page, size, order, direction); | |
| 54 | + } | |
| 55 | + | |
| 44 | 56 | /** |
| 45 | 57 | * @param id |
| 46 | 58 | * @throws |
| ... | ... | @@ -78,4 +90,56 @@ public class LsSectionRouteController extends BaseController<SectionRoute, Integ |
| 78 | 90 | |
| 79 | 91 | return result; |
| 80 | 92 | } |
| 93 | + | |
| 94 | + /** | |
| 95 | + * @param lineId | |
| 96 | + * @param version | |
| 97 | + * @param direction | |
| 98 | + * @param otherDirection | |
| 99 | + * @throws | |
| 100 | + * @Description: 引用另一上下行路段 | |
| 101 | + */ | |
| 102 | + @RequestMapping(value = "/quoteOtherSide", method = RequestMethod.POST) | |
| 103 | + public Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection) { | |
| 104 | + Map<String, Object> result = new HashMap<>(); | |
| 105 | + try { | |
| 106 | + lsSectionRouteService.quoteOtherSide(lineId, version, direction, otherDirection); | |
| 107 | + result.put("status", ResponseCode.SUCCESS); | |
| 108 | + } catch (Exception e) { | |
| 109 | + result.put("status", ResponseCode.ERROR); | |
| 110 | + log.error("", e); | |
| 111 | + } | |
| 112 | + | |
| 113 | + return result; | |
| 114 | + } | |
| 115 | + | |
| 116 | + @RequestMapping(value = "/add", method = RequestMethod.POST) | |
| 117 | + public Map<String, Object> add(LsSectionRoute sectionRoute) { | |
| 118 | + Map<String, Object> result = new HashMap<>(); | |
| 119 | + try { | |
| 120 | + lsSectionRouteService.add(sectionRoute); | |
| 121 | + result.put("status", ResponseCode.SUCCESS); | |
| 122 | + } catch (Exception e) { | |
| 123 | + result.put("status", ResponseCode.ERROR); | |
| 124 | + result.put("msg", e.getMessage()); | |
| 125 | + log.error("", e); | |
| 126 | + } | |
| 127 | + | |
| 128 | + return result; | |
| 129 | + } | |
| 130 | + | |
| 131 | + @RequestMapping(value = "/modify", method = RequestMethod.POST) | |
| 132 | + public Map<String, Object> modify(LsSectionRoute sectionRoute) { | |
| 133 | + Map<String, Object> result = new HashMap<>(); | |
| 134 | + try { | |
| 135 | + lsSectionRouteService.modify(sectionRoute); | |
| 136 | + result.put("status", ResponseCode.SUCCESS); | |
| 137 | + } catch (Exception e) { | |
| 138 | + result.put("status", ResponseCode.ERROR); | |
| 139 | + result.put("msg", e.getMessage()); | |
| 140 | + log.error("", e); | |
| 141 | + } | |
| 142 | + | |
| 143 | + return result; | |
| 144 | + } | |
| 81 | 145 | } | ... | ... |
src/main/java/com/bsth/controller/LsStationRouteController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | +import com.bsth.entity.LsSectionRoute; | |
| 4 | 5 | import com.bsth.entity.LsStationRoute; |
| 5 | -import com.bsth.entity.StationRoute; | |
| 6 | 6 | import com.bsth.service.LsStationRouteService; |
| 7 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 7 | 8 | import org.slf4j.Logger; |
| 8 | 9 | import org.slf4j.LoggerFactory; |
| 9 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 10 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 11 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 12 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 13 | -import org.springframework.web.bind.annotation.RestController; | |
| 11 | +import org.springframework.data.domain.Page; | |
| 12 | +import org.springframework.web.bind.annotation.*; | |
| 14 | 13 | |
| 15 | -import java.util.Arrays; | |
| 16 | -import java.util.HashMap; | |
| 17 | -import java.util.List; | |
| 18 | -import java.util.Map; | |
| 14 | +import java.util.*; | |
| 19 | 15 | |
| 20 | 16 | /** |
| 21 | 17 | * @author Hill |
| ... | ... | @@ -23,18 +19,37 @@ import java.util.Map; |
| 23 | 19 | @RestController |
| 24 | 20 | @RequestMapping("/api/lsstationroute") |
| 25 | 21 | public class LsStationRouteController extends BaseController<LsStationRoute, Integer> { |
| 26 | - | |
| 27 | - @Autowired | |
| 28 | - private LsStationRouteService lsStationRouteService; | |
| 29 | 22 | |
| 30 | - private static final Logger log = LoggerFactory.getLogger(LsStationRouteController.class); | |
| 23 | + private static final Logger log = LoggerFactory.getLogger(LsStationRouteController.class); | |
| 24 | + | |
| 25 | + @Autowired | |
| 26 | + private LsStationRouteService lsStationRouteService; | |
| 27 | + | |
| 28 | + @Autowired | |
| 29 | + private ObjectMapper mapper; | |
| 31 | 30 | |
| 32 | - | |
| 33 | 31 | @RequestMapping(value = "/findAllByParams", method = RequestMethod.GET) |
| 34 | 32 | public Iterable<LsStationRoute> findAllByParams(@RequestParam Map<String, Object> params) { |
| 35 | 33 | return lsStationRouteService.findAllByParams(params); |
| 36 | 34 | } |
| 37 | 35 | |
| 36 | + @RequestMapping(value = "/findPageByParams", method = RequestMethod.GET) | |
| 37 | + public Page<LsStationRoute> findPageByParams(@RequestParam Map<String, Object> params) { | |
| 38 | + int page = params.get("page") == null ? 0 : Integer.parseInt(params.get("page").toString()); | |
| 39 | + int size = params.get("size") == null ? 10 : Integer.parseInt(params.get("size").toString()); | |
| 40 | + String order = params.get("order").toString(), direction = params.get("direction").toString(); | |
| 41 | + | |
| 42 | + return super.list(params, page, size, order, direction); | |
| 43 | + } | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * @Description :TODO(查询站点的下一个缓存站点) | |
| 47 | + */ | |
| 48 | + @RequestMapping(value = "/findCurrentAndNext" , method = RequestMethod.GET) | |
| 49 | + public List<LsStationRoute> findCurrentAndNext(Integer id) { | |
| 50 | + return lsStationRouteService.findCurrentAndNext(id); | |
| 51 | + } | |
| 52 | + | |
| 38 | 53 | /** |
| 39 | 54 | * @param id |
| 40 | 55 | * @throws |
| ... | ... | @@ -75,6 +90,33 @@ public class LsStationRouteController extends BaseController<LsStationRoute, Int |
| 75 | 90 | return result; |
| 76 | 91 | } |
| 77 | 92 | |
| 93 | + /** | |
| 94 | + * 保存线路某个版本下单行的站点和路段路由 | |
| 95 | + * 常规使用在根据百度地图生成数据或者模板导入的批量保存 | |
| 96 | + * @param map | |
| 97 | + * @return | |
| 98 | + */ | |
| 99 | + @RequestMapping(value="addRoutes" , method = RequestMethod.POST) | |
| 100 | + public Map<String, Object> addRoutes(@RequestBody Map<String, Object> map) { | |
| 101 | + Map<String, Object> result = new HashMap<>(); | |
| 102 | + try { | |
| 103 | + if (map.get("lineId") == null || map.get("versions") == null || map.get("directions") == null) { | |
| 104 | + throw new IllegalArgumentException("需正确传入线路、方向、版本参数"); | |
| 105 | + } | |
| 106 | + Integer versions = Integer.parseInt(map.get("versions").toString()), directions = Integer.parseInt(map.get("directions").toString()), lineId = Integer.parseInt(map.get("lineId").toString()); | |
| 107 | + List<LsStationRoute> stationRoutes = mapper.convertValue(map.get("stationRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsStationRoute.class))); | |
| 108 | + List<LsSectionRoute> sectionRoutes = mapper.convertValue(map.get("sectionRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsSectionRoute.class))); | |
| 109 | + | |
| 110 | + result.putAll(lsStationRouteService.addRoutes(lineId, versions, directions, stationRoutes, sectionRoutes)); | |
| 111 | + result.put("status", ResponseCode.SUCCESS); | |
| 112 | + } catch (Exception e) { | |
| 113 | + result.put("status", ResponseCode.ERROR); | |
| 114 | + log.error("", e); | |
| 115 | + } | |
| 116 | + | |
| 117 | + return result; | |
| 118 | + } | |
| 119 | + | |
| 78 | 120 | @RequestMapping(value = "/add", method = RequestMethod.POST) |
| 79 | 121 | public Map<String, Object> add(LsStationRoute stationRoute) { |
| 80 | 122 | Map<String, Object> result = new HashMap<>(); |
| ... | ... | @@ -104,4 +146,59 @@ public class LsStationRouteController extends BaseController<LsStationRoute, Int |
| 104 | 146 | |
| 105 | 147 | return result; |
| 106 | 148 | } |
| 149 | + | |
| 150 | + @RequestMapping(value = "/exchangeDirection", method = RequestMethod.POST) | |
| 151 | + public Map<String, Object> exchangeDirection(int lineId, int version) { | |
| 152 | + Map<String, Object> result = new HashMap<>(); | |
| 153 | + try { | |
| 154 | + lsStationRouteService.exchangeDirection(lineId, version); | |
| 155 | + result.put("status", ResponseCode.SUCCESS); | |
| 156 | + } catch (Exception e) { | |
| 157 | + result.put("status", ResponseCode.ERROR); | |
| 158 | + result.put("msg", e.getMessage()); | |
| 159 | + log.error("", e); | |
| 160 | + } | |
| 161 | + | |
| 162 | + return result; | |
| 163 | + } | |
| 164 | + | |
| 165 | + @RequestMapping(value = "/modifyDistance", method = RequestMethod.POST) | |
| 166 | + public Map<String, Object> modifyDistance(@RequestParam Map<String, Object> params) { | |
| 167 | + Map<String, Object> result = new HashMap<>(); | |
| 168 | + try { | |
| 169 | + List<Integer> ids = new ArrayList<>(); | |
| 170 | + List<Double> distances = new ArrayList<>(); | |
| 171 | + for (Map.Entry<String, Object> entry : params.entrySet()) { | |
| 172 | + String key = entry.getKey(), value = String.valueOf(entry.getValue()); | |
| 173 | + ids.add(Integer.parseInt(key.split("_")[1])); | |
| 174 | + distances.add(Double.parseDouble(value) / 1000); | |
| 175 | + } | |
| 176 | + if (ids.size() == 0) { | |
| 177 | + throw new IllegalArgumentException("不合法的参数"); | |
| 178 | + } | |
| 179 | + lsStationRouteService.modifyDistance(ids, distances); | |
| 180 | + result.put("status", ResponseCode.SUCCESS); | |
| 181 | + } catch (Exception e) { | |
| 182 | + result.put("status", ResponseCode.ERROR); | |
| 183 | + result.put("msg", e.getMessage()); | |
| 184 | + log.error("", e); | |
| 185 | + } | |
| 186 | + | |
| 187 | + return result; | |
| 188 | + } | |
| 189 | + | |
| 190 | + @RequestMapping(value = "/circularRouteHandle", method = RequestMethod.POST) | |
| 191 | + public Map<String, Object> circularRouteHandle(Integer lineId, Integer version) { | |
| 192 | + Map<String, Object> result = new HashMap<>(); | |
| 193 | + try { | |
| 194 | + lsStationRouteService.circularRouteHandle(lineId, version); | |
| 195 | + result.put("status", ResponseCode.SUCCESS); | |
| 196 | + } catch (Exception e) { | |
| 197 | + result.put("status", ResponseCode.ERROR); | |
| 198 | + result.put("msg", e.getMessage()); | |
| 199 | + log.error("", e); | |
| 200 | + } | |
| 201 | + | |
| 202 | + return result; | |
| 203 | + } | |
| 107 | 204 | } | ... | ... |
src/main/java/com/bsth/controller/RoadSpeedController.java deleted
100644 → 0
| 1 | -package com.bsth.controller; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 8 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 9 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 10 | -import org.springframework.web.bind.annotation.RestController; | |
| 11 | - | |
| 12 | -import com.bsth.entity.RoadSpeed; | |
| 13 | -import com.bsth.service.RoadSpeedService; | |
| 14 | - | |
| 15 | -/** | |
| 16 | - * | |
| 17 | - * @ClassName: RoadSpeedController(路段限速控制器) | |
| 18 | - * | |
| 19 | - * @Extends : BaseController | |
| 20 | - * | |
| 21 | - * @Description: TODO(路段限速控制层) | |
| 22 | - * | |
| 23 | - * @Author bsth@lq | |
| 24 | - * | |
| 25 | - * @Version 公交调度系统BS版 0.1 | |
| 26 | - * | |
| 27 | - */ | |
| 28 | -@RestController | |
| 29 | -@RequestMapping("roadSpeed") | |
| 30 | -public class RoadSpeedController extends BaseController<RoadSpeed, Integer> { | |
| 31 | - | |
| 32 | - @Autowired | |
| 33 | - private RoadSpeedService service; | |
| 34 | - | |
| 35 | - /*@RequestMapping(value="all", method = RequestMethod.GET) | |
| 36 | - public List<RoadSpeed> allRoadSpeed(){ | |
| 37 | - return service.allRoadSpeed(); | |
| 38 | - }*/ | |
| 39 | - | |
| 40 | - @RequestMapping(value="save", method = RequestMethod.POST) | |
| 41 | - public Map<String, Object> save(@RequestParam Map<String, Object> map){ | |
| 42 | - return service.roadSpeedSave(map); | |
| 43 | - } | |
| 44 | - | |
| 45 | - @RequestMapping(value="update", method = RequestMethod.POST) | |
| 46 | - public Map<String, Object> update(@RequestParam Map<String, Object> map){ | |
| 47 | - return service.update(map); | |
| 48 | - } | |
| 49 | - | |
| 50 | - @RequestMapping(value="findById", method = RequestMethod.GET) | |
| 51 | - public RoadSpeed findById(@RequestParam(defaultValue = "id") Integer id){ | |
| 52 | - return service.findId(id); | |
| 53 | - } | |
| 54 | -} |
src/main/java/com/bsth/controller/SectionController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 3 | 4 | import com.bsth.entity.Section; |
| 5 | +import com.bsth.entity.Station; | |
| 4 | 6 | import com.bsth.repository.SectionRepository; |
| 5 | 7 | import com.bsth.service.SectionService; |
| 8 | +import org.slf4j.Logger; | |
| 9 | +import org.slf4j.LoggerFactory; | |
| 6 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 11 | import org.springframework.web.bind.annotation.RequestMapping; |
| 8 | 12 | import org.springframework.web.bind.annotation.RequestMethod; |
| 9 | 13 | import org.springframework.web.bind.annotation.RequestParam; |
| 10 | 14 | import org.springframework.web.bind.annotation.RestController; |
| 11 | 15 | |
| 16 | +import javax.servlet.http.HttpServletRequest; | |
| 17 | +import java.util.HashMap; | |
| 18 | +import java.util.List; | |
| 12 | 19 | import java.util.Map; |
| 13 | 20 | |
| 14 | 21 | /** |
| ... | ... | @@ -30,50 +37,14 @@ import java.util.Map; |
| 30 | 37 | @RestController |
| 31 | 38 | @RequestMapping("section") |
| 32 | 39 | public class SectionController extends BaseController<Section, Integer> { |
| 40 | + | |
| 41 | + private final static Logger log = LoggerFactory.getLogger(SectionController.class); | |
| 33 | 42 | |
| 34 | 43 | @Autowired |
| 35 | - SectionService service; | |
| 44 | + SectionService sectionService; | |
| 36 | 45 | |
| 37 | 46 | @Autowired |
| 38 | 47 | SectionRepository sectionRepository; |
| 39 | - | |
| 40 | - /** | |
| 41 | - * 新增路段信息 | |
| 42 | - * | |
| 43 | - * @param map:<bsectionVector:折线百度坐标集合;dbType:圆坐标类型;descriptions:描述与说明;destroy:是否撤销;directions:方向;lineId:线路ID | |
| 44 | - * | |
| 45 | - * lineCode :线路编码;roadCoding:道路编码;sectionCode:路段编码;sectionDistance:路段长度;sectionName:路段名称;sectionTime:路段时长; | |
| 46 | - * | |
| 47 | - * sectionrouteCode:路段序号;speedLimit:路段限速> | |
| 48 | - * | |
| 49 | - * @return map<SUCCESS:成功;ERROR:异常> | |
| 50 | - */ | |
| 51 | - @RequestMapping(value="sectionSave" , method = RequestMethod.POST) | |
| 52 | - public Map<String, Object> sectionSave(@RequestParam Map<String, Object> map) { | |
| 53 | - map.put("createBy", ""); | |
| 54 | - map.put("updateBy", ""); | |
| 55 | - return service.sectionSave(map); | |
| 56 | - } | |
| 57 | - | |
| 58 | - /** | |
| 59 | - * @Description :TODO(编辑线路走向) | |
| 60 | - * | |
| 61 | - * @param map <sectionId:路段ID; sectionJSON:路段信息> | |
| 62 | - * | |
| 63 | - * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 64 | - */ | |
| 65 | - @RequestMapping(value="sectionUpdate" , method = RequestMethod.POST) | |
| 66 | - public Map<String, Object> sectionUpdate(@RequestParam Map<String, Object> map) { | |
| 67 | - | |
| 68 | - map.put("updateBy", ""); | |
| 69 | - | |
| 70 | - map.put("createBy", ""); | |
| 71 | - | |
| 72 | - map.put("createDate", ""); | |
| 73 | - | |
| 74 | - return service.sectionUpdate(map); | |
| 75 | - | |
| 76 | - } | |
| 77 | 48 | |
| 78 | 49 | /** |
| 79 | 50 | * @Description :TODO(查询路段编码) |
| ... | ... | @@ -82,7 +53,7 @@ public class SectionController extends BaseController<Section, Integer> { |
| 82 | 53 | */ |
| 83 | 54 | @RequestMapping(value="getSectionCode" , method = RequestMethod.GET) |
| 84 | 55 | public long getSectionCode() { |
| 85 | - return sectionRepository.sectionMaxId() + 1; | |
| 56 | + return sectionRepository.findLatestSectionId() + 1; | |
| 86 | 57 | } |
| 87 | 58 | |
| 88 | 59 | /** |
| ... | ... | @@ -92,7 +63,44 @@ public class SectionController extends BaseController<Section, Integer> { |
| 92 | 63 | */ |
| 93 | 64 | @RequestMapping(value="doubleName" , method = RequestMethod.POST) |
| 94 | 65 | public Map<String, Object> doubleName(@RequestParam Map<String, Object> map) { |
| 95 | - return service.doubleName(map); | |
| 66 | + return sectionService.doubleName(map); | |
| 67 | + } | |
| 68 | + | |
| 69 | + @RequestMapping(value="add" , method = RequestMethod.POST) | |
| 70 | + public Map<String, Object> add(Section section) { | |
| 71 | + Map<String, Object> result = new HashMap<>(); | |
| 72 | + try { | |
| 73 | + sectionService.add(section); | |
| 74 | + result.put("status", ResponseCode.SUCCESS); | |
| 75 | + } catch (Exception e) { | |
| 76 | + result.put("status", ResponseCode.ERROR); | |
| 77 | + log.error("", e); | |
| 78 | + } | |
| 79 | + | |
| 80 | + return result; | |
| 96 | 81 | } |
| 97 | 82 | |
| 83 | + @RequestMapping(value="modify" , method = RequestMethod.POST) | |
| 84 | + public Map<String, Object> modify(Section section) { | |
| 85 | + Map<String, Object> result = new HashMap<>(); | |
| 86 | + try { | |
| 87 | + sectionService.modify(section); | |
| 88 | + result.put("status", ResponseCode.SUCCESS); | |
| 89 | + } catch (Exception e) { | |
| 90 | + result.put("status", ResponseCode.ERROR); | |
| 91 | + log.error("", e); | |
| 92 | + } | |
| 93 | + | |
| 94 | + return result; | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * 根据路段名模糊搜索路段信息 | |
| 99 | + * @param sectionName | |
| 100 | + * @return 站点列表 | |
| 101 | + */ | |
| 102 | + @RequestMapping(value="findSectionByName" , method = RequestMethod.GET) | |
| 103 | + public List<Section> findSectionByName(String sectionName) { | |
| 104 | + return sectionService.findSectionByName(sectionName); | |
| 105 | + } | |
| 98 | 106 | } | ... | ... |
src/main/java/com/bsth/controller/SectionRouteController.java
| ... | ... | @@ -35,23 +35,6 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer |
| 35 | 35 | @Autowired |
| 36 | 36 | SectionRouteService routeService; |
| 37 | 37 | |
| 38 | - @RequestMapping(value = "/allls", method = RequestMethod.GET) | |
| 39 | - public Map allls(@RequestParam Map<String, Object> map) { | |
| 40 | - | |
| 41 | - return routeService.pageLs(map); | |
| 42 | - } | |
| 43 | - | |
| 44 | - | |
| 45 | - /** | |
| 46 | - * @param map | |
| 47 | - * @throws | |
| 48 | - * @Description: TODO(批量撤销路段) | |
| 49 | - */ | |
| 50 | - @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST) | |
| 51 | - public Map<String, Object> updateBatch(@RequestParam Map<String, Object> map) { | |
| 52 | - return routeService.updateSectionRouteInfoFormId(map); | |
| 53 | - } | |
| 54 | - | |
| 55 | 38 | /** |
| 56 | 39 | * @param @param map |
| 57 | 40 | * @throws |
| ... | ... | @@ -76,18 +59,6 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer |
| 76 | 59 | } |
| 77 | 60 | |
| 78 | 61 | /** |
| 79 | - * @Description : TODO(根据路段路由Id查询详情) | |
| 80 | - * | |
| 81 | - * @param map <id:路段路由ID> | |
| 82 | - * | |
| 83 | - * @return List<Map<String, Object>> | |
| 84 | - */ | |
| 85 | - @RequestMapping(value = "/findSectionRouteInfoFormId",method = RequestMethod.GET) | |
| 86 | - public List<Map<String, Object>> findSectionRouteInfoFormId(@RequestParam Map<String, Object> map) { | |
| 87 | - return routeService.findSectionRouteInfoFormId(map); | |
| 88 | - } | |
| 89 | - | |
| 90 | - /** | |
| 91 | 62 | * @Description :TODO(查询线路某方向下的上一个路段序号) |
| 92 | 63 | * |
| 93 | 64 | * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> |
| ... | ... | @@ -98,14 +69,4 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer |
| 98 | 69 | public List<Map<String, Object>> findUpStationRouteCode(@RequestParam Map<String, Object> map) { |
| 99 | 70 | return routeService.findUpSectionRouteCode(map); |
| 100 | 71 | } |
| 101 | - | |
| 102 | - /** | |
| 103 | - * @Description :TODO(引用路段) | |
| 104 | - * | |
| 105 | - * @return List<Map<String, Object>> | |
| 106 | - */ | |
| 107 | - @RequestMapping(value = "/quoteSection" , method = RequestMethod.POST) | |
| 108 | - public Map<String, Object> quoteSection(@RequestParam Map<String, Object> map) { | |
| 109 | - return routeService.quoteSection(map); | |
| 110 | - } | |
| 111 | 72 | } | ... | ... |
src/main/java/com/bsth/controller/SectionSpeedController.java deleted
100644 → 0
| 1 | -package com.bsth.controller; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import com.bsth.entity.SectionSpeed; | |
| 7 | -import com.bsth.service.SectionSpeedService; | |
| 8 | - | |
| 9 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | -import org.springframework.web.bind.annotation.*; | |
| 11 | - | |
| 12 | - | |
| 13 | -@RestController | |
| 14 | -@RequestMapping("sectionspeed") | |
| 15 | -public class SectionSpeedController extends BaseController<SectionSpeed, Integer> { | |
| 16 | - | |
| 17 | - @Autowired | |
| 18 | - private SectionSpeedService sectionSpeedService; | |
| 19 | - | |
| 20 | - /**@description TODO(新增路段限速) */ | |
| 21 | - @RequestMapping(value="add" , method = RequestMethod.POST) | |
| 22 | - public Map<String, Object> collectionSave(@RequestParam Map<String, Object> map) { | |
| 23 | - return sectionSpeedService.add(map); | |
| 24 | - } | |
| 25 | - | |
| 26 | - /**@description TODO(修改路段) */ | |
| 27 | - @RequestMapping(value="roadUpd" , method = RequestMethod.POST) | |
| 28 | - public Map<String, Object> roadUpd(@RequestParam Map<String, Object> map) { | |
| 29 | - return sectionSpeedService.roadUpd(map); | |
| 30 | - } | |
| 31 | - | |
| 32 | - /** @description TODO(根据线路ID与编码及方向查询路段限速信息) */ | |
| 33 | - @RequestMapping(value="getSectionSpeedInfoList",method=RequestMethod.GET) | |
| 34 | - public List<Map<String, Object>> getSectionSpeedInfoList(@RequestParam Map<String, Object> map){ | |
| 35 | - return sectionSpeedService.getSectionSpeedInfo(map); | |
| 36 | - } | |
| 37 | - | |
| 38 | - /** | |
| 39 | - * @Description :TODO(查询路段信息) | |
| 40 | - * | |
| 41 | - * @param map <line.id_eq:线路ID; directions_eq:方向> | |
| 42 | - * | |
| 43 | - * @return Map<String, Object> | |
| 44 | - */ | |
| 45 | - @RequestMapping(value = "/analyticSection" , method = RequestMethod.GET) | |
| 46 | - public List<Map<String, Object>> findPoints(@RequestParam Map<String, Object> map) { | |
| 47 | - return sectionSpeedService.analyticSection(map); | |
| 48 | - } | |
| 49 | - | |
| 50 | -} |
src/main/java/com/bsth/controller/StationController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | -import com.bsth.entity.Line; | |
| 5 | 4 | import com.bsth.entity.LsSectionRoute; |
| 6 | 5 | import com.bsth.entity.LsStationRoute; |
| 7 | 6 | import com.bsth.entity.Station; |
| 8 | 7 | import com.bsth.repository.StationRepository; |
| 9 | 8 | import com.bsth.service.StationService; |
| 10 | -import com.bsth.util.GetUIDAndCode; | |
| 11 | 9 | import com.fasterxml.jackson.databind.ObjectMapper; |
| 12 | 10 | import org.slf4j.Logger; |
| 13 | 11 | import org.slf4j.LoggerFactory; |
| 14 | 12 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | -import org.springframework.util.StringUtils; | |
| 16 | 13 | import org.springframework.web.bind.annotation.*; |
| 17 | 14 | |
| 18 | -import java.util.*; | |
| 15 | +import java.util.HashMap; | |
| 16 | +import java.util.List; | |
| 17 | +import java.util.Map; | |
| 19 | 18 | |
| 20 | 19 | /** |
| 21 | 20 | * |
| ... | ... | @@ -38,12 +37,10 @@ import java.util.*; |
| 38 | 37 | public class StationController extends BaseController<Station, Integer> { |
| 39 | 38 | |
| 40 | 39 | @Autowired |
| 41 | - private StationService service; | |
| 40 | + private StationService stationService; | |
| 42 | 41 | |
| 43 | 42 | @Autowired |
| 44 | - StationRepository stationRepository; | |
| 45 | - | |
| 46 | - private ObjectMapper mapper = new ObjectMapper(); | |
| 43 | + private ObjectMapper mapper; | |
| 47 | 44 | |
| 48 | 45 | /** 日志记录器 */ |
| 49 | 46 | private static final Logger log = LoggerFactory.getLogger(StationController.class); |
| ... | ... | @@ -55,7 +52,7 @@ public class StationController extends BaseController<Station, Integer> { |
| 55 | 52 | public Map<String, Object> matchStation(@RequestBody List<Station> stations) { |
| 56 | 53 | Map<String, Object> result = new HashMap<>(); |
| 57 | 54 | try { |
| 58 | - service.matchStation(stations); | |
| 55 | + stationService.matchStation(stations); | |
| 59 | 56 | result.put("status", ResponseCode.SUCCESS); |
| 60 | 57 | result.put("data", stations); |
| 61 | 58 | } catch (Exception e) { |
| ... | ... | @@ -67,26 +64,19 @@ public class StationController extends BaseController<Station, Integer> { |
| 67 | 64 | } |
| 68 | 65 | |
| 69 | 66 | /** |
| 70 | - * 保存线路某个版本下单行的站点和路段路由 | |
| 71 | - * 常规使用在根据百度地图生成数据或者模板导入的批量保存 | |
| 72 | - * @param map | |
| 67 | + * 新增站点 | |
| 68 | + * @param station | |
| 73 | 69 | * @return |
| 74 | 70 | */ |
| 75 | - @RequestMapping(value="saveRoutes" , method = RequestMethod.POST) | |
| 76 | - public Map<String, Object> saveRoutes(@RequestBody Map<String, Object> map) { | |
| 71 | + @RequestMapping(value = "/add", method = RequestMethod.POST) | |
| 72 | + public Map<String, Object> add(Station station) { | |
| 77 | 73 | Map<String, Object> result = new HashMap<>(); |
| 78 | 74 | try { |
| 79 | - if (map.get("lineId") == null || map.get("versions") == null || map.get("directions") == null) { | |
| 80 | - throw new IllegalArgumentException("需正确传入线路、方向、版本参数"); | |
| 81 | - } | |
| 82 | - Integer versions = Integer.parseInt(map.get("versions").toString()), directions = Integer.parseInt(map.get("directions").toString()), lineId = Integer.parseInt(map.get("lineId").toString()); | |
| 83 | - List<LsStationRoute> stationRoutes = mapper.convertValue(map.get("stationRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsStationRoute.class))); | |
| 84 | - List<LsSectionRoute> sectionRoutes = mapper.convertValue(map.get("sectionRoutes"), mapper.constructType(mapper.getTypeFactory().constructParametricType(List.class, LsSectionRoute.class))); | |
| 85 | - | |
| 86 | - result.putAll(service.saveRoutes(lineId, versions, directions, stationRoutes, sectionRoutes)); | |
| 75 | + stationService.add(station); | |
| 87 | 76 | result.put("status", ResponseCode.SUCCESS); |
| 88 | 77 | } catch (Exception e) { |
| 89 | 78 | result.put("status", ResponseCode.ERROR); |
| 79 | + result.put("msg", e.getMessage()); | |
| 90 | 80 | log.error("", e); |
| 91 | 81 | } |
| 92 | 82 | |
| ... | ... | @@ -95,14 +85,14 @@ public class StationController extends BaseController<Station, Integer> { |
| 95 | 85 | |
| 96 | 86 | /** |
| 97 | 87 | * 更新站点、站点路由信息 |
| 98 | - * @param stationRoute | |
| 88 | + * @param station | |
| 99 | 89 | * @return |
| 100 | 90 | */ |
| 101 | - @RequestMapping(value="stationUpdate" , method = RequestMethod.POST) | |
| 102 | - public Map<String, Object> stationUpdate(LsStationRoute stationRoute) { | |
| 91 | + @RequestMapping(value="modify" , method = RequestMethod.POST) | |
| 92 | + public Map<String, Object> modify(Station station) { | |
| 103 | 93 | Map<String, Object> result = new HashMap<>(); |
| 104 | 94 | try { |
| 105 | - service.stationUpdate(stationRoute); | |
| 95 | + stationService.modify(station); | |
| 106 | 96 | result.put("status", ResponseCode.SUCCESS); |
| 107 | 97 | } catch (Exception e) { |
| 108 | 98 | result.put("status", ResponseCode.ERROR); |
| ... | ... | @@ -117,9 +107,9 @@ public class StationController extends BaseController<Station, Integer> { |
| 117 | 107 | * |
| 118 | 108 | * @return int <stationCode站点编码> |
| 119 | 109 | */ |
| 120 | - @RequestMapping(value="getStationCode" , method = RequestMethod.GET) | |
| 121 | - public long getStationCode() { | |
| 122 | - return stationRepository.stationMaxId() + 1; | |
| 110 | + @RequestMapping(value="findStationCode" , method = RequestMethod.GET) | |
| 111 | + public long findStationCode() { | |
| 112 | + return stationService.findLatestStationId() + 1; | |
| 123 | 113 | } |
| 124 | 114 | |
| 125 | 115 | /** |
| ... | ... | @@ -127,8 +117,8 @@ public class StationController extends BaseController<Station, Integer> { |
| 127 | 117 | * @param stationName |
| 128 | 118 | * @return 站点列表 |
| 129 | 119 | */ |
| 130 | - @RequestMapping(value="getStationByName" , method = RequestMethod.GET) | |
| 131 | - public List<Station> getStationByName(String stationName) { | |
| 132 | - return service.getStationByName(stationName); | |
| 120 | + @RequestMapping(value="findStationByName" , method = RequestMethod.GET) | |
| 121 | + public List<Station> findStationByName(String stationName) { | |
| 122 | + return stationService.findStationByName(stationName); | |
| 133 | 123 | } |
| 134 | 124 | } | ... | ... |
src/main/java/com/bsth/controller/StationRouteController.java
| 1 | 1 | package com.bsth.controller; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.LsStationRoute; | |
| 3 | 4 | import com.bsth.entity.StationRoute; |
| 4 | 5 | import com.bsth.repository.StationRouteRepository; |
| 5 | 6 | import com.bsth.service.StationRouteService; |
| ... | ... | @@ -33,19 +34,14 @@ import java.util.Map; |
| 33 | 34 | public class StationRouteController extends BaseController<StationRoute, Integer> { |
| 34 | 35 | |
| 35 | 36 | @Autowired |
| 36 | - StationRouteService service; | |
| 37 | + StationRouteService stationRouteService; | |
| 37 | 38 | @Autowired |
| 38 | 39 | StationRouteRepository stationRouteRepository; |
| 39 | - | |
| 40 | - @RequestMapping(value = "/allls", method = RequestMethod.GET) | |
| 41 | - public Map allls(@RequestParam Map<String, Object> map) { | |
| 42 | - | |
| 43 | - return service.pageLs(map); | |
| 44 | - } | |
| 45 | 40 | |
| 46 | 41 | @RequestMapping(value = "/all", method = RequestMethod.GET) |
| 42 | + @Override | |
| 47 | 43 | public Iterable<StationRoute> list(@RequestParam Map<String, Object> map) { |
| 48 | - return service.list(map); | |
| 44 | + return stationRouteService.list(map); | |
| 49 | 45 | } |
| 50 | 46 | |
| 51 | 47 | /** |
| ... | ... | @@ -57,7 +53,7 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 57 | 53 | */ |
| 58 | 54 | @RequestMapping(value = "/export" , method = RequestMethod.GET) |
| 59 | 55 | public Map<String, Object> export(@RequestParam Integer id, HttpServletResponse resp) { |
| 60 | - return service.getSectionRouteExport(id, resp); | |
| 56 | + return stationRouteService.getSectionRouteExport(id, resp); | |
| 61 | 57 | } |
| 62 | 58 | |
| 63 | 59 | /** |
| ... | ... | @@ -68,33 +64,30 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 68 | 64 | * @return List<Map<String, Object>> |
| 69 | 65 | */ |
| 70 | 66 | @RequestMapping(value = "/findStations" , method = RequestMethod.GET) |
| 71 | - public List<Map<String, Object>> findStations(@RequestParam Map<String, Object> map) { | |
| 72 | - return service.findPoints(map); | |
| 67 | + public Map<String, Object> findStations(@RequestParam Map<String, Object> map) { | |
| 68 | + map.put("destroy_eq", 0); | |
| 69 | + if (map.get("line.id_eq") == null || map.get("directions_eq") == null || map.get("versions_eq") == null) { | |
| 70 | + throw new IllegalArgumentException("需正确传入线路、方向、版本参数"); | |
| 71 | + } | |
| 72 | + | |
| 73 | + return stationRouteService.findPoints(map); | |
| 73 | 74 | } |
| 74 | 75 | |
| 75 | 76 | @RequestMapping(value = "/systemQuote" , method = RequestMethod.POST) |
| 76 | 77 | public Map<String, Object> systemQuote(@RequestParam Map<String, Object> map) { |
| 77 | - return service.systemQuote(map); | |
| 78 | + return stationRouteService.systemQuote(map); | |
| 78 | 79 | } |
| 79 | - | |
| 80 | + | |
| 80 | 81 | /** |
| 81 | 82 | * @Description :TODO(查询线路某方向下的站点序号与类型) |
| 82 | - * | |
| 83 | + * | |
| 83 | 84 | * @param map <lineId:线路ID; direction:方向;stationRouteCode:站点编码> |
| 84 | - * | |
| 85 | - * @return List<Map<String, Object>> | |
| 85 | + * | |
| 86 | + * @return List<Map<String, Object>> | |
| 86 | 87 | */ |
| 87 | 88 | @RequestMapping(value = "/findUpStationRouteCode" , method = RequestMethod.GET) |
| 88 | 89 | public List<Map<String, Object>> findUpStationRouteCode(@RequestParam Map<String, Object> map) { |
| 89 | - return service.findUpStationRouteCode(map); | |
| 90 | - } | |
| 91 | - | |
| 92 | - /** | |
| 93 | - * @Description :TODO(查询站点的下一个缓存站点) | |
| 94 | - */ | |
| 95 | - @RequestMapping(value = "/findDownStationRoute" , method = RequestMethod.GET) | |
| 96 | - public List<Map<String, Object>> findDownStationRoute(@RequestParam Map<String, Object> map) { | |
| 97 | - return service.findDownStationRoute(map); | |
| 90 | + return stationRouteService.findUpStationRouteCode(map); | |
| 98 | 91 | } |
| 99 | 92 | |
| 100 | 93 | /** |
| ... | ... | @@ -106,7 +99,7 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 106 | 99 | */ |
| 107 | 100 | @RequestMapping(value = "/getStationRouteCenterPoints" , method = RequestMethod.GET) |
| 108 | 101 | public List<Map<String, Object>> getStationRouteCenterPoints(@RequestParam Map<String, Object> map) { |
| 109 | - return service.getStationRouteCenterPoints(map); | |
| 102 | + return stationRouteService.getStationRouteCenterPoints(map); | |
| 110 | 103 | } |
| 111 | 104 | |
| 112 | 105 | /** |
| ... | ... | @@ -118,7 +111,7 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 118 | 111 | */ |
| 119 | 112 | @RequestMapping(value = "/getStationRouteList" , method = RequestMethod.GET) |
| 120 | 113 | public List<Map<String, Object>> getStationRouteList(@RequestParam Map<String, Object> map) { |
| 121 | - return service.getStationRouteList(map); | |
| 114 | + return stationRouteService.getStationRouteList(map); | |
| 122 | 115 | } |
| 123 | 116 | |
| 124 | 117 | /** |
| ... | ... | @@ -130,20 +123,7 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 130 | 123 | */ |
| 131 | 124 | @RequestMapping(value = "/usingSingle",method = RequestMethod.POST) |
| 132 | 125 | public Map<String, Object> usingSingle(@RequestParam Map<String, Object> map) { |
| 133 | - return service.usingSingle(map); | |
| 134 | - } | |
| 135 | - | |
| 136 | - | |
| 137 | - /** | |
| 138 | - * @Description : TODO(根据站点路由Id查询详情) | |
| 139 | - * | |
| 140 | - * @param map <id:站点路由ID> | |
| 141 | - * | |
| 142 | - * @return List<Map<String, Object>> | |
| 143 | - */ | |
| 144 | - @RequestMapping(value = "/findStationRouteInfo",method = RequestMethod.GET) | |
| 145 | - public List<Map<String, Object>> findStationRouteInfo(@RequestParam Map<String, Object> map) { | |
| 146 | - return service.findStationRouteInfo(map); | |
| 126 | + return stationRouteService.usingSingle(map); | |
| 147 | 127 | } |
| 148 | 128 | |
| 149 | 129 | @RequestMapping(value = "/stations", method = RequestMethod.GET) |
| ... | ... | @@ -158,65 +138,6 @@ public class StationRouteController extends BaseController<StationRoute, Integer |
| 158 | 138 | */ |
| 159 | 139 | @RequestMapping(value = "/multiLine", method = RequestMethod.GET) |
| 160 | 140 | public Map<String, Object> findByMultiLine(@RequestParam String lineIds){ |
| 161 | - return service.findByMultiLine(lineIds); | |
| 162 | - } | |
| 163 | - | |
| 164 | - /** | |
| 165 | - * | |
| 166 | - * @Title: updSwitchDir | |
| 167 | - * @Description: TODO(上下行切换) | |
| 168 | - */ | |
| 169 | - @RequestMapping(value = "/updSwitchDir", method = RequestMethod.POST) | |
| 170 | - public Map<String, Object> updSwitchDir(@RequestParam String lineIds, @RequestParam(value = "status", required = false)int status){ | |
| 171 | - return service.updSwitchDir(lineIds,status); | |
| 141 | + return stationRouteService.findByMultiLine(lineIds); | |
| 172 | 142 | } |
| 173 | - | |
| 174 | - /** | |
| 175 | - * | |
| 176 | - * @Title: upddis | |
| 177 | - * @Description: TODO(更新站距) | |
| 178 | - */ | |
| 179 | - @RequestMapping(value = "/upddis",method = RequestMethod.POST) | |
| 180 | - public Map<String, Object> upddis(@RequestParam Map<String, Object> map) { | |
| 181 | - return service.upddis(map); | |
| 182 | - } | |
| 183 | - | |
| 184 | - /** | |
| 185 | - * 查询博协站点 | |
| 186 | - * @param map | |
| 187 | - * @return | |
| 188 | - */ | |
| 189 | - @RequestMapping(value = "/findMatchStation", method = RequestMethod.GET) | |
| 190 | - public Map<String, Object> findMatchStation(@RequestParam Map<String, Object> map){ | |
| 191 | - return service.findMatchStation(map); | |
| 192 | - } | |
| 193 | - | |
| 194 | - /** | |
| 195 | - * 批量修改行业编码 | |
| 196 | - * @param map | |
| 197 | - * @return | |
| 198 | - */ | |
| 199 | - @RequestMapping(value = "/updIndustryCode",method = RequestMethod.POST) | |
| 200 | - public Map<String, Object> updIndustryCode(@RequestParam Map<String, Object> map) { | |
| 201 | - return service.updIndustryCode(map); | |
| 202 | - } | |
| 203 | - | |
| 204 | - /** | |
| 205 | - * 匹配外部站点行业编码 | |
| 206 | - * @param map | |
| 207 | - * @return | |
| 208 | - */ | |
| 209 | - @RequestMapping(value = "/matchIndustryCode",method = RequestMethod.POST) | |
| 210 | - public Map<String, Object> matchIndustryCode(@RequestParam Map<String, Object> map) { | |
| 211 | - return service.matchIndustryCode(map); | |
| 212 | - } | |
| 213 | - /** | |
| 214 | - * 匹配附近站点行业编码 | |
| 215 | - * @param map | |
| 216 | - * @return | |
| 217 | - */ | |
| 218 | - @RequestMapping(value = "/matchNearbyStation",method = RequestMethod.GET) | |
| 219 | - public Map<String, Object> matchNearbyStation(@RequestParam Map<String, Object> map) { | |
| 220 | - return service.matchNearbyStation(map); | |
| 221 | - } | |
| 222 | 143 | } | ... | ... |
src/main/java/com/bsth/controller/test/GpsTestController.java
| 1 | -package com.bsth.controller.test; | |
| 2 | - | |
| 3 | -import java.util.HashMap; | |
| 4 | -import java.util.List; | |
| 5 | -import java.util.Map; | |
| 6 | - | |
| 7 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | -import org.springframework.web.bind.annotation.RequestMapping; | |
| 9 | -import org.springframework.web.bind.annotation.RequestParam; | |
| 10 | -import org.springframework.web.bind.annotation.RestController; | |
| 11 | - | |
| 12 | -import com.bsth.service.StationRouteService; | |
| 13 | - | |
| 14 | -@RestController | |
| 15 | -@RequestMapping("/test/gps") | |
| 16 | -public class GpsTestController { | |
| 17 | - | |
| 18 | - @Autowired | |
| 19 | - StationRouteService stationRouteService; | |
| 20 | - | |
| 21 | - @RequestMapping(value = "/route") | |
| 22 | - public List<Map<String, Object>> findRouteByLineId(@RequestParam int xl,@RequestParam int directions){ | |
| 23 | - Map<String, Object> map = new HashMap<>(); | |
| 24 | - map.put("line.id_eq", xl); | |
| 25 | - map.put("directions_eq", directions); | |
| 26 | - | |
| 27 | - List<Map<String, Object>> list = stationRouteService.findPoints(map); | |
| 28 | - return list; | |
| 29 | - } | |
| 30 | -} | |
| 1 | +package com.bsth.controller.test; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.List; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 9 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 10 | +import org.springframework.web.bind.annotation.RestController; | |
| 11 | + | |
| 12 | +import com.bsth.service.StationRouteService; | |
| 13 | + | |
| 14 | +@RestController | |
| 15 | +@RequestMapping("/test/gps") | |
| 16 | +public class GpsTestController { | |
| 17 | + | |
| 18 | + @Autowired | |
| 19 | + StationRouteService stationRouteService; | |
| 20 | + | |
| 21 | + @RequestMapping(value = "/route") | |
| 22 | + public Map<String, Object> findRouteByLineId(@RequestParam int xl,@RequestParam int directions){ | |
| 23 | + Map<String, Object> map = new HashMap<>(); | |
| 24 | + map.put("line.id_eq", xl); | |
| 25 | + map.put("directions_eq", directions); | |
| 26 | + | |
| 27 | + return stationRouteService.findPoints(map); | |
| 28 | + } | |
| 29 | +} | ... | ... |
src/main/java/com/bsth/entity/Line.java
| ... | ... | @@ -170,6 +170,12 @@ public class Line implements Serializable { |
| 170 | 170 | * 逻辑删除标记 为 1:标识已删除 |
| 171 | 171 | */ |
| 172 | 172 | private Integer remove = 0; |
| 173 | + | |
| 174 | + /** | |
| 175 | + * 线路撤销时间 | |
| 176 | + */ | |
| 177 | + @DateTimeFormat(pattern ="yyyy-MM-dd") | |
| 178 | + private Date revokeDate; | |
| 173 | 179 | |
| 174 | 180 | public Integer getSpacGrade() { |
| 175 | 181 | return spacGrade; |
| ... | ... | @@ -526,5 +532,12 @@ public class Line implements Serializable { |
| 526 | 532 | public void setTicketPrice(String ticketPrice) { |
| 527 | 533 | this.ticketPrice = ticketPrice; |
| 528 | 534 | } |
| 529 | - | |
| 535 | + | |
| 536 | + public Date getRevokeDate() { | |
| 537 | + return revokeDate; | |
| 538 | + } | |
| 539 | + | |
| 540 | + public void setRevokeDate(Date revokeDate) { | |
| 541 | + this.revokeDate = revokeDate; | |
| 542 | + } | |
| 530 | 543 | } | ... | ... |
src/main/java/com/bsth/entity/LsStationRoute.java
| ... | ... | @@ -355,6 +355,10 @@ public class LsStationRoute { |
| 355 | 355 | } |
| 356 | 356 | |
| 357 | 357 | public String getBufferPolygonWkt() { |
| 358 | + if (bufferPolygonWkt == null && bufferPolygon != null) { | |
| 359 | + bufferPolygonWkt = bufferPolygon.toString(); | |
| 360 | + } | |
| 361 | + | |
| 358 | 362 | return bufferPolygonWkt; |
| 359 | 363 | } |
| 360 | 364 | |
| ... | ... | @@ -371,6 +375,10 @@ public class LsStationRoute { |
| 371 | 375 | } |
| 372 | 376 | |
| 373 | 377 | public String getBufferPolygonWgsWkt() { |
| 378 | + if (bufferPolygonWgsWkt == null && bufferPolygonWgs != null) { | |
| 379 | + bufferPolygonWgsWkt = bufferPolygonWgs.toString(); | |
| 380 | + } | |
| 381 | + | |
| 374 | 382 | return bufferPolygonWgsWkt; |
| 375 | 383 | } |
| 376 | 384 | ... | ... |
src/main/java/com/bsth/entity/Road.java deleted
100644 → 0
| 1 | -package com.bsth.entity; | |
| 2 | - | |
| 3 | -import javax.persistence.Entity; | |
| 4 | -import javax.persistence.Id; | |
| 5 | -import javax.persistence.Table; | |
| 6 | - | |
| 7 | -@Entity | |
| 8 | -@Table(name = "bsth_c_road") | |
| 9 | -public class Road { | |
| 10 | - | |
| 11 | - @Id | |
| 12 | - /*@GeneratedValue(strategy = GenerationType.IDENTITY)*/ | |
| 13 | - private Integer id; | |
| 14 | - | |
| 15 | - // 路段编码 | |
| 16 | - private String roadCode; | |
| 17 | - | |
| 18 | - // 路段名称 | |
| 19 | - private String roadName; | |
| 20 | - | |
| 21 | - // 路段矢量(空间坐标点集合)--百度原始坐标坐标点 | |
| 22 | - private String broadVector; | |
| 23 | - | |
| 24 | - // 路段矢量(空间坐标点集合)--GPS坐标点 | |
| 25 | - private String groadVector; | |
| 26 | - | |
| 27 | - // 限速 | |
| 28 | - private Double speed; | |
| 29 | - | |
| 30 | - public Integer getId() { | |
| 31 | - return id; | |
| 32 | - } | |
| 33 | - | |
| 34 | - public void setId(Integer id) { | |
| 35 | - this.id = id; | |
| 36 | - } | |
| 37 | - | |
| 38 | - public String getRoadCode() { | |
| 39 | - return roadCode; | |
| 40 | - } | |
| 41 | - | |
| 42 | - public void setRoadCode(String roadCode) { | |
| 43 | - this.roadCode = roadCode; | |
| 44 | - } | |
| 45 | - | |
| 46 | - public String getRoadName() { | |
| 47 | - return roadName; | |
| 48 | - } | |
| 49 | - | |
| 50 | - public void setRoadName(String roadName) { | |
| 51 | - this.roadName = roadName; | |
| 52 | - } | |
| 53 | - | |
| 54 | - public String getBroadVector() { | |
| 55 | - return broadVector; | |
| 56 | - } | |
| 57 | - | |
| 58 | - public void setBroadVector(String broadVector) { | |
| 59 | - this.broadVector = broadVector; | |
| 60 | - } | |
| 61 | - | |
| 62 | - public String getGroadVector() { | |
| 63 | - return groadVector; | |
| 64 | - } | |
| 65 | - | |
| 66 | - public void setGroadVector(String groadVector) { | |
| 67 | - this.groadVector = groadVector; | |
| 68 | - } | |
| 69 | - | |
| 70 | - public Double getSpeed() { | |
| 71 | - return speed; | |
| 72 | - } | |
| 73 | - | |
| 74 | - public void setSpeed(Double speed) { | |
| 75 | - this.speed = speed; | |
| 76 | - } | |
| 77 | -} |
src/main/java/com/bsth/entity/RoadSpeed.java deleted
100644 → 0
| 1 | -package com.bsth.entity; | |
| 2 | - | |
| 3 | -import java.util.Date; | |
| 4 | - | |
| 5 | -import javax.persistence.Column; | |
| 6 | -import javax.persistence.Entity; | |
| 7 | -import javax.persistence.GeneratedValue; | |
| 8 | -import javax.persistence.GenerationType; | |
| 9 | -import javax.persistence.Id; | |
| 10 | -import javax.persistence.Table; | |
| 11 | - | |
| 12 | -@Entity | |
| 13 | -@Table(name = "bsth_c_road_speed") | |
| 14 | -public class RoadSpeed { | |
| 15 | - | |
| 16 | - @Id | |
| 17 | - @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 18 | - private Integer id; | |
| 19 | - | |
| 20 | - // 路段名称 | |
| 21 | - private String name; | |
| 22 | - | |
| 23 | - // 路段矢量(空间坐标点集合)--GPS坐标点 | |
| 24 | - private String bRoadVector; | |
| 25 | - | |
| 26 | - // 路段矢量(空间坐标点集合)--百度坐标点 | |
| 27 | - private String gRoadVector; | |
| 28 | - | |
| 29 | - // 限速 (km/h) | |
| 30 | - private Double speed; | |
| 31 | - | |
| 32 | - // 限速开始时间 | |
| 33 | - private String speedStartDate; | |
| 34 | - | |
| 35 | - // 限速结束时间 | |
| 36 | - private String speedEndDate; | |
| 37 | - | |
| 38 | - // 是否启用限速(0:启用、1:未启用) | |
| 39 | - private int isStart; | |
| 40 | - | |
| 41 | - // 预留字段(限速的线路) | |
| 42 | - private String line; | |
| 43 | - | |
| 44 | - // 创建日期 timestamp | |
| 45 | - @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") | |
| 46 | - private Date createDate; | |
| 47 | - | |
| 48 | - // 修改日期 timestamp | |
| 49 | - @Column(name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") | |
| 50 | - private Date updateDate; | |
| 51 | - | |
| 52 | - public Integer getId() { | |
| 53 | - return id; | |
| 54 | - } | |
| 55 | - | |
| 56 | - public String getName() { | |
| 57 | - return name; | |
| 58 | - } | |
| 59 | - | |
| 60 | - public String getbRoadVector() { | |
| 61 | - return bRoadVector; | |
| 62 | - } | |
| 63 | - | |
| 64 | - public String getgRoadVector() { | |
| 65 | - return gRoadVector; | |
| 66 | - } | |
| 67 | - | |
| 68 | - public Double getSpeed() { | |
| 69 | - return speed; | |
| 70 | - } | |
| 71 | - | |
| 72 | - public String getSpeedStartDate() { | |
| 73 | - return speedStartDate; | |
| 74 | - } | |
| 75 | - | |
| 76 | - public String getSpeedEndDate() { | |
| 77 | - return speedEndDate; | |
| 78 | - } | |
| 79 | - | |
| 80 | - public int getIsStart() { | |
| 81 | - return isStart; | |
| 82 | - } | |
| 83 | - | |
| 84 | - public String getLine() { | |
| 85 | - return line; | |
| 86 | - } | |
| 87 | - | |
| 88 | - public Date getCreateDate() { | |
| 89 | - return createDate; | |
| 90 | - } | |
| 91 | - | |
| 92 | - public Date getUpdateDate() { | |
| 93 | - return updateDate; | |
| 94 | - } | |
| 95 | - | |
| 96 | - public void setId(Integer id) { | |
| 97 | - this.id = id; | |
| 98 | - } | |
| 99 | - | |
| 100 | - public void setName(String name) { | |
| 101 | - this.name = name; | |
| 102 | - } | |
| 103 | - | |
| 104 | - public void setbRoadVector(String bRoadVector) { | |
| 105 | - this.bRoadVector = bRoadVector; | |
| 106 | - } | |
| 107 | - | |
| 108 | - public void setgRoadVector(String gRoadVector) { | |
| 109 | - this.gRoadVector = gRoadVector; | |
| 110 | - } | |
| 111 | - | |
| 112 | - public void setSpeed(Double speed) { | |
| 113 | - this.speed = speed; | |
| 114 | - } | |
| 115 | - | |
| 116 | - public void setSpeedStartDate(String speedStartDate) { | |
| 117 | - this.speedStartDate = speedStartDate; | |
| 118 | - } | |
| 119 | - | |
| 120 | - public void setSpeedEndDate(String speedEndDate) { | |
| 121 | - this.speedEndDate = speedEndDate; | |
| 122 | - } | |
| 123 | - | |
| 124 | - public void setIsStart(int isStart) { | |
| 125 | - this.isStart = isStart; | |
| 126 | - } | |
| 127 | - | |
| 128 | - public void setLine(String line) { | |
| 129 | - this.line = line; | |
| 130 | - } | |
| 131 | - | |
| 132 | - public void setCreateDate(Date createDate) { | |
| 133 | - this.createDate = createDate; | |
| 134 | - } | |
| 135 | - | |
| 136 | - public void setUpdateDate(Date updateDate) { | |
| 137 | - this.updateDate = updateDate; | |
| 138 | - } | |
| 139 | - | |
| 140 | - @Override | |
| 141 | - public String toString() { | |
| 142 | - return "RoadSpeed [id=" + id + ", name=" + name + ", bRoadVector=" + bRoadVector + ", gRoadVector=" | |
| 143 | - + gRoadVector + ", speed=" + speed + ", speedStartDate=" + speedStartDate + ", speedEndDate=" | |
| 144 | - + speedEndDate + ", isStart=" + isStart + ", line=" + line + ", createDate=" + createDate | |
| 145 | - + ", updateDate=" + updateDate + "]"; | |
| 146 | - } | |
| 147 | - | |
| 148 | - | |
| 149 | -} |
src/main/java/com/bsth/entity/Section.java
| ... | ... | @@ -151,6 +151,10 @@ public class Section{ |
| 151 | 151 | @Column(insertable = false, name = "update_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") |
| 152 | 152 | private Date updateDate; |
| 153 | 153 | |
| 154 | + private Integer ewDirection; | |
| 155 | + | |
| 156 | + private Integer snDirection; | |
| 157 | + | |
| 154 | 158 | public Integer getId() { |
| 155 | 159 | return id; |
| 156 | 160 | } |
| ... | ... | @@ -362,5 +366,20 @@ public class Section{ |
| 362 | 366 | public void setUpdateDate(Date updateDate) { |
| 363 | 367 | this.updateDate = updateDate; |
| 364 | 368 | } |
| 365 | - | |
| 369 | + | |
| 370 | + public Integer getEwDirection() { | |
| 371 | + return ewDirection; | |
| 372 | + } | |
| 373 | + | |
| 374 | + public void setEwDirection(Integer ewDirection) { | |
| 375 | + this.ewDirection = ewDirection; | |
| 376 | + } | |
| 377 | + | |
| 378 | + public Integer getSnDirection() { | |
| 379 | + return snDirection; | |
| 380 | + } | |
| 381 | + | |
| 382 | + public void setSnDirection(Integer snDirection) { | |
| 383 | + this.snDirection = snDirection; | |
| 384 | + } | |
| 366 | 385 | } | ... | ... |
src/main/java/com/bsth/entity/SectionSpeed.java deleted
100644 → 0
| 1 | -package com.bsth.entity; | |
| 2 | - | |
| 3 | -import javax.persistence.Entity; | |
| 4 | -import javax.persistence.GeneratedValue; | |
| 5 | -import javax.persistence.GenerationType; | |
| 6 | -import javax.persistence.Id; | |
| 7 | -import javax.persistence.ManyToOne; | |
| 8 | -import javax.persistence.Table; | |
| 9 | - | |
| 10 | -/** | |
| 11 | - * @description TODO(路段限速) | |
| 12 | - * | |
| 13 | - * @author bsth@lq | |
| 14 | - * | |
| 15 | - * @date 2016年9月14日 14:15:42 | |
| 16 | - */ | |
| 17 | - | |
| 18 | - | |
| 19 | -@Entity | |
| 20 | -@Table(name = "bsth_c_sectionspeed") | |
| 21 | -public class SectionSpeed { | |
| 22 | - | |
| 23 | - @Id | |
| 24 | - @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 25 | - private Integer id; | |
| 26 | - | |
| 27 | - // 线路信息 | |
| 28 | - @ManyToOne | |
| 29 | - private Line line; | |
| 30 | - | |
| 31 | - @ManyToOne | |
| 32 | - private Road road; | |
| 33 | - | |
| 34 | - /** 线路编码 */ | |
| 35 | - private String lineCode; | |
| 36 | - | |
| 37 | - private String roadCode; | |
| 38 | - | |
| 39 | - /** 方向*/ | |
| 40 | - private Integer directions; | |
| 41 | - | |
| 42 | - /** 序号*/ | |
| 43 | - private Integer code; | |
| 44 | - | |
| 45 | - /** 路段名称 */ | |
| 46 | - private String sName; | |
| 47 | - | |
| 48 | - public String getRoadCode() { | |
| 49 | - return roadCode; | |
| 50 | - } | |
| 51 | - | |
| 52 | - public void setRoadCode(String roadCode) { | |
| 53 | - this.roadCode = roadCode; | |
| 54 | - } | |
| 55 | - | |
| 56 | - public Road getRoad() { | |
| 57 | - return road; | |
| 58 | - } | |
| 59 | - | |
| 60 | - public void setRoad(Road road) { | |
| 61 | - this.road = road; | |
| 62 | - } | |
| 63 | - | |
| 64 | - public Integer getDirections() { | |
| 65 | - return directions; | |
| 66 | - } | |
| 67 | - | |
| 68 | - public void setDirections(Integer directions) { | |
| 69 | - this.directions = directions; | |
| 70 | - } | |
| 71 | - | |
| 72 | - public Integer getCode() { | |
| 73 | - return code; | |
| 74 | - } | |
| 75 | - | |
| 76 | - public void setCode(Integer code) { | |
| 77 | - this.code = code; | |
| 78 | - } | |
| 79 | - | |
| 80 | - public Integer getId() { | |
| 81 | - return id; | |
| 82 | - } | |
| 83 | - | |
| 84 | - public void setId(Integer id) { | |
| 85 | - this.id = id; | |
| 86 | - } | |
| 87 | - | |
| 88 | - public Line getLine() { | |
| 89 | - return line; | |
| 90 | - } | |
| 91 | - | |
| 92 | - public void setLine(Line line) { | |
| 93 | - this.line = line; | |
| 94 | - } | |
| 95 | - | |
| 96 | - public String getLineCode() { | |
| 97 | - return lineCode; | |
| 98 | - } | |
| 99 | - | |
| 100 | - public void setLineCode(String lineCode) { | |
| 101 | - this.lineCode = lineCode; | |
| 102 | - } | |
| 103 | - | |
| 104 | - public String getsName() { | |
| 105 | - return sName; | |
| 106 | - } | |
| 107 | - | |
| 108 | - public void setsName(String sName) { | |
| 109 | - this.sName = sName; | |
| 110 | - } | |
| 111 | - | |
| 112 | -} |
src/main/java/com/bsth/entity/Station.java
| ... | ... | @@ -36,7 +36,7 @@ import java.util.Date; |
| 36 | 36 | public class Station { |
| 37 | 37 | |
| 38 | 38 | @Id |
| 39 | -// @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 39 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 40 | 40 | private Integer id; |
| 41 | 41 | |
| 42 | 42 | /** |
| ... | ... | @@ -128,9 +128,14 @@ public class Station { |
| 128 | 128 | /** |
| 129 | 129 | * 途经线路 |
| 130 | 130 | */ |
| 131 | - @Transient | |
| 132 | 131 | private String passLines; |
| 133 | 132 | |
| 133 | + private Integer ewDirection; | |
| 134 | + | |
| 135 | + private Integer snDirection; | |
| 136 | + | |
| 137 | + private String standardStationCode; | |
| 138 | + | |
| 134 | 139 | public Integer getId() { |
| 135 | 140 | return id; |
| 136 | 141 | } |
| ... | ... | @@ -298,4 +303,28 @@ public class Station { |
| 298 | 303 | public void setPassLines(String passLines) { |
| 299 | 304 | this.passLines = passLines; |
| 300 | 305 | } |
| 306 | + | |
| 307 | + public Integer getEwDirection() { | |
| 308 | + return ewDirection; | |
| 309 | + } | |
| 310 | + | |
| 311 | + public void setEwDirection(Integer ewDirection) { | |
| 312 | + this.ewDirection = ewDirection; | |
| 313 | + } | |
| 314 | + | |
| 315 | + public Integer getSnDirection() { | |
| 316 | + return snDirection; | |
| 317 | + } | |
| 318 | + | |
| 319 | + public void setSnDirection(Integer snDirection) { | |
| 320 | + this.snDirection = snDirection; | |
| 321 | + } | |
| 322 | + | |
| 323 | + public String getStandardStationCode() { | |
| 324 | + return standardStationCode; | |
| 325 | + } | |
| 326 | + | |
| 327 | + public void setStandardStationCode(String standardStationCode) { | |
| 328 | + this.standardStationCode = standardStationCode; | |
| 329 | + } | |
| 301 | 330 | } | ... | ... |
src/main/java/com/bsth/entity/StationRoute.java
| ... | ... | @@ -390,6 +390,10 @@ public class StationRoute { |
| 390 | 390 | } |
| 391 | 391 | |
| 392 | 392 | public String getBufferPolygonWkt() { |
| 393 | + if (bufferPolygonWkt == null && bufferPolygon != null) { | |
| 394 | + bufferPolygonWkt = bufferPolygon.toString(); | |
| 395 | + } | |
| 396 | + | |
| 393 | 397 | return bufferPolygonWkt; |
| 394 | 398 | } |
| 395 | 399 | |
| ... | ... | @@ -406,6 +410,10 @@ public class StationRoute { |
| 406 | 410 | } |
| 407 | 411 | |
| 408 | 412 | public String getBufferPolygonWgsWkt() { |
| 413 | + if (bufferPolygonWgsWkt == null && bufferPolygonWgs != null) { | |
| 414 | + bufferPolygonWgsWkt = bufferPolygonWgs.toString(); | |
| 415 | + } | |
| 416 | + | |
| 409 | 417 | return bufferPolygonWgsWkt; |
| 410 | 418 | } |
| 411 | 419 | ... | ... |
src/main/java/com/bsth/entity/sys/OperationLog.java
0 → 100644
| 1 | +package com.bsth.entity.sys; | |
| 2 | + | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @author Hill | |
| 7 | + */ | |
| 8 | +public class OperationLog { | |
| 9 | + | |
| 10 | + /** | |
| 11 | + * | |
| 12 | + */ | |
| 13 | + private Integer id; | |
| 14 | + | |
| 15 | + /** | |
| 16 | + * 日期 yyyy-MM-dd | |
| 17 | + */ | |
| 18 | + private String rq; | |
| 19 | + | |
| 20 | + /** | |
| 21 | + * 业务 | |
| 22 | + */ | |
| 23 | + private String business; | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 操作人 | |
| 27 | + */ | |
| 28 | + private String operateUser; | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 操作时间 | |
| 32 | + */ | |
| 33 | + private Date operateDate; | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 操作参数 json | |
| 37 | + */ | |
| 38 | + private String params; | |
| 39 | + | |
| 40 | + public Integer getId() { | |
| 41 | + return id; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public void setId(Integer id) { | |
| 45 | + this.id = id; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public String getRq() { | |
| 49 | + return rq; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public void setRq(String rq) { | |
| 53 | + this.rq = rq; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String getBusiness() { | |
| 57 | + return business; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public void setBusiness(String business) { | |
| 61 | + this.business = business; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public String getOperateUser() { | |
| 65 | + return operateUser; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setOperateUser(String operateUser) { | |
| 69 | + this.operateUser = operateUser; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public Date getOperateDate() { | |
| 73 | + return operateDate; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setOperateDate(Date operateDate) { | |
| 77 | + this.operateDate = operateDate; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getParams() { | |
| 81 | + return params; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setParams(String params) { | |
| 85 | + this.params = params; | |
| 86 | + } | |
| 87 | +} | ... | ... |
src/main/java/com/bsth/message/handler/MessageHandler.java
| ... | ... | @@ -28,7 +28,7 @@ public class MessageHandler { |
| 28 | 28 | @Autowired |
| 29 | 29 | private ObjectMapper mapper; |
| 30 | 30 | |
| 31 | - @KafkaListener(topics="schedule-mainsys-carerrorstop") | |
| 31 | + @KafkaListener(topics="schedule-main-carerrorstop") | |
| 32 | 32 | public void receivedCarErrorStop(Message<String> message) { |
| 33 | 33 | try { |
| 34 | 34 | List<CarErrorStop> carErrorStopList = mapper.readValue(message.getPayload(), mapper.getTypeFactory().constructParametricType(List.class, CarErrorStop.class)); |
| ... | ... | @@ -40,7 +40,7 @@ public class MessageHandler { |
| 40 | 40 | } |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | - @KafkaListener(topics="schedule-mainsys-carenergy") | |
| 43 | + @KafkaListener(topics="schedule-main-carenergy") | |
| 44 | 44 | public void receivedCarEnergy(Message<String> message) { |
| 45 | 45 | try { |
| 46 | 46 | List<CarEnergy> carEnergyList = mapper.readValue(message.getPayload(), mapper.getTypeFactory().constructParametricType(List.class, CarEnergy.class)); |
| ... | ... | @@ -52,7 +52,7 @@ public class MessageHandler { |
| 52 | 52 | } |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - @KafkaListener(topics="schedule-mainsys-inoutpark") | |
| 55 | + @KafkaListener(topics="schedule-main-inoutpark") | |
| 56 | 56 | public void receivedInoutPark(Message<String> message) { |
| 57 | 57 | try { |
| 58 | 58 | List<InoutPark> inoutParkList = mapper.readValue(message.getPayload(), mapper.getTypeFactory().constructParametricType(List.class, InoutPark.class)); | ... | ... |
src/main/java/com/bsth/oplog/Level.java deleted
100644 → 0
src/main/java/com/bsth/oplog/Log.java deleted
100644 → 0
| 1 | -package com.bsth.oplog; | |
| 2 | - | |
| 3 | -import java.util.Date; | |
| 4 | - | |
| 5 | -public class Log { | |
| 6 | - | |
| 7 | - private String userName; | |
| 8 | - | |
| 9 | - private Long timestamp; | |
| 10 | - | |
| 11 | - private String type; | |
| 12 | - | |
| 13 | - private String level; | |
| 14 | - | |
| 15 | - private String path; | |
| 16 | - | |
| 17 | - private String serverIp; | |
| 18 | - | |
| 19 | - private String clientIp; | |
| 20 | - | |
| 21 | - private String httpData; | |
| 22 | - | |
| 23 | - private Date month; | |
| 24 | - | |
| 25 | - private String callerClass; | |
| 26 | - | |
| 27 | - private String callerMethod; | |
| 28 | - | |
| 29 | - private Integer lineNumber; | |
| 30 | - | |
| 31 | - public String getPath() { | |
| 32 | - return path; | |
| 33 | - } | |
| 34 | - | |
| 35 | - public void setPath(String path) { | |
| 36 | - this.path = path; | |
| 37 | - } | |
| 38 | - | |
| 39 | - public String getServerIp() { | |
| 40 | - return serverIp; | |
| 41 | - } | |
| 42 | - | |
| 43 | - public void setServerIp(String serverIp) { | |
| 44 | - this.serverIp = serverIp; | |
| 45 | - } | |
| 46 | - | |
| 47 | - public String getHttpData() { | |
| 48 | - return httpData; | |
| 49 | - } | |
| 50 | - | |
| 51 | - public void setHttpData(String httpData) { | |
| 52 | - this.httpData = httpData; | |
| 53 | - } | |
| 54 | - | |
| 55 | - public Date getMonth() { | |
| 56 | - return month; | |
| 57 | - } | |
| 58 | - | |
| 59 | - public void setMonth(Date month) { | |
| 60 | - this.month = month; | |
| 61 | - } | |
| 62 | - | |
| 63 | - public String getType() { | |
| 64 | - return type; | |
| 65 | - } | |
| 66 | - | |
| 67 | - public void setType(String type) { | |
| 68 | - this.type = type; | |
| 69 | - } | |
| 70 | - | |
| 71 | - public String getLevel() { | |
| 72 | - return level; | |
| 73 | - } | |
| 74 | - | |
| 75 | - public void setLevel(String level) { | |
| 76 | - this.level = level; | |
| 77 | - } | |
| 78 | - | |
| 79 | - public String getCallerClass() { | |
| 80 | - return callerClass; | |
| 81 | - } | |
| 82 | - | |
| 83 | - public void setCallerClass(String callerClass) { | |
| 84 | - this.callerClass = callerClass; | |
| 85 | - } | |
| 86 | - | |
| 87 | - public String getCallerMethod() { | |
| 88 | - return callerMethod; | |
| 89 | - } | |
| 90 | - | |
| 91 | - public void setCallerMethod(String callerMethod) { | |
| 92 | - this.callerMethod = callerMethod; | |
| 93 | - } | |
| 94 | - | |
| 95 | - public String getClientIp() { | |
| 96 | - return clientIp; | |
| 97 | - } | |
| 98 | - | |
| 99 | - public void setClientIp(String clientIp) { | |
| 100 | - this.clientIp = clientIp; | |
| 101 | - } | |
| 102 | - | |
| 103 | - public String getUserName() { | |
| 104 | - return userName; | |
| 105 | - } | |
| 106 | - | |
| 107 | - public void setUserName(String userName) { | |
| 108 | - this.userName = userName; | |
| 109 | - } | |
| 110 | - | |
| 111 | - public Long getTimestamp() { | |
| 112 | - return timestamp; | |
| 113 | - } | |
| 114 | - | |
| 115 | - public void setTimestamp(Long timestamp) { | |
| 116 | - this.timestamp = timestamp; | |
| 117 | - } | |
| 118 | - | |
| 119 | - public Integer getLineNumber() { | |
| 120 | - return lineNumber; | |
| 121 | - } | |
| 122 | - | |
| 123 | - public void setLineNumber(Integer lineNumber) { | |
| 124 | - this.lineNumber = lineNumber; | |
| 125 | - } | |
| 126 | -} |
src/main/java/com/bsth/oplog/OperationLogger.java
0 → 100644
| 1 | +package com.bsth.oplog; | |
| 2 | + | |
| 3 | +import com.bsth.annotation.BusinessDescription; | |
| 4 | +import com.bsth.entity.sys.OperationLog; | |
| 5 | +import com.bsth.entity.sys.SysUser; | |
| 6 | +import com.bsth.security.util.SecurityUtils; | |
| 7 | +import com.fasterxml.jackson.core.JsonProcessingException; | |
| 8 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
| 9 | +import org.aspectj.lang.JoinPoint; | |
| 10 | +import org.aspectj.lang.annotation.After; | |
| 11 | +import org.aspectj.lang.annotation.Aspect; | |
| 12 | +import org.aspectj.lang.reflect.MethodSignature; | |
| 13 | +import org.joda.time.DateTime; | |
| 14 | +import org.slf4j.Logger; | |
| 15 | +import org.slf4j.LoggerFactory; | |
| 16 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 17 | +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | |
| 18 | +import org.springframework.kafka.core.KafkaTemplate; | |
| 19 | +import org.springframework.kafka.support.SendResult; | |
| 20 | +import org.springframework.scheduling.annotation.EnableScheduling; | |
| 21 | +import org.springframework.scheduling.annotation.Scheduled; | |
| 22 | +import org.springframework.stereotype.Component; | |
| 23 | +import org.springframework.util.concurrent.ListenableFuture; | |
| 24 | +import org.springframework.util.concurrent.ListenableFutureCallback; | |
| 25 | + | |
| 26 | +import java.util.*; | |
| 27 | +import java.util.concurrent.ConcurrentLinkedQueue; | |
| 28 | + | |
| 29 | +/** | |
| 30 | + * @author Hill | |
| 31 | + */ | |
| 32 | +@EnableScheduling | |
| 33 | +@Aspect | |
| 34 | +@Component | |
| 35 | +@ConditionalOnProperty("kafka.use") | |
| 36 | +public class OperationLogger { | |
| 37 | + | |
| 38 | + private final static Logger logger = LoggerFactory.getLogger(OperationLogger.class); | |
| 39 | + | |
| 40 | + @Autowired | |
| 41 | + private KafkaTemplate kafkaTemplate; | |
| 42 | + | |
| 43 | + @Autowired | |
| 44 | + private ObjectMapper mapper; | |
| 45 | + | |
| 46 | + private Queue<OperationLog> queue = new ConcurrentLinkedQueue<>(); | |
| 47 | + | |
| 48 | + @After(value = "execution(public * com.bsth.service.impl.*.add*(..)) || execution(public * com.bsth.service.impl.*.modify*(..)) || execution(public * com.bsth.service.impl.*.remove*(..)) || execution(public * com.bsth.service.impl.*.batch*(..))") | |
| 49 | + public void recordParams(JoinPoint point) { | |
| 50 | + OperationLog operationLog = new OperationLog(); | |
| 51 | + DateTime dateTime = new DateTime(); | |
| 52 | + SysUser user = SecurityUtils.getCurrentUser(); | |
| 53 | + MethodSignature signature = (MethodSignature) point.getSignature(); | |
| 54 | + BusinessDescription description = signature.getMethod().getAnnotation(BusinessDescription.class); | |
| 55 | + operationLog.setRq(dateTime.toString("yyyy-MM-dd")); | |
| 56 | + operationLog.setOperateDate(dateTime.toDate()); | |
| 57 | + if (user != null) { | |
| 58 | + operationLog.setOperateUser(user.getUserName()); | |
| 59 | + } | |
| 60 | + if (description != null) { | |
| 61 | + operationLog.setBusiness(description.value()); | |
| 62 | + } | |
| 63 | + try { | |
| 64 | + operationLog.setParams(mapper.writeValueAsString(point.getArgs())); | |
| 65 | + } catch (JsonProcessingException e) { | |
| 66 | + e.printStackTrace(); | |
| 67 | + } | |
| 68 | + queue.add(operationLog); | |
| 69 | + } | |
| 70 | + | |
| 71 | + @Scheduled(cron = "0/10 * * * * ?") | |
| 72 | + public void sendMessage() { | |
| 73 | + String message = null; | |
| 74 | + Map<String, Object> map = new HashMap<>(); | |
| 75 | + List<OperationLog> logs = new ArrayList<>(); | |
| 76 | + OperationLog log = null; | |
| 77 | + map.put("type", "operate"); | |
| 78 | + map.put("data", logs); | |
| 79 | + while ((log = queue.poll()) != null) { | |
| 80 | + logs.add(log); | |
| 81 | + } | |
| 82 | + if (logs.size() < 1) { | |
| 83 | + return; | |
| 84 | + } | |
| 85 | + try { | |
| 86 | + message = mapper.writeValueAsString(map); | |
| 87 | + } catch (JsonProcessingException e) { | |
| 88 | + e.printStackTrace(); | |
| 89 | + } | |
| 90 | + if (message != null) { | |
| 91 | + ListenableFuture<SendResult<String, String>> future = kafkaTemplate.send("schedule-main-log", message); | |
| 92 | + future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() { | |
| 93 | + | |
| 94 | + @Override | |
| 95 | + public void onSuccess(SendResult<String, String> result) { | |
| 96 | + | |
| 97 | + } | |
| 98 | + | |
| 99 | + @Override | |
| 100 | + public void onFailure(Throwable ex) { | |
| 101 | + logger.error("kafka发送系统日志异常", ex); | |
| 102 | + } | |
| 103 | + }); | |
| 104 | + } | |
| 105 | + } | |
| 106 | +} | ... | ... |
src/main/java/com/bsth/oplog/db/DBHelper.java deleted
100644 → 0
| 1 | -package com.bsth.oplog.db; | |
| 2 | - | |
| 3 | -import java.util.LinkedList; | |
| 4 | -import java.util.concurrent.TimeUnit; | |
| 5 | - | |
| 6 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | -import org.springframework.boot.CommandLineRunner; | |
| 8 | -import org.springframework.stereotype.Component; | |
| 9 | - | |
| 10 | -import com.bsth.Application; | |
| 11 | -import com.bsth.oplog.Log; | |
| 12 | -import com.bsth.oplog.db.mysql.DBPersistence; | |
| 13 | - | |
| 14 | -@Component | |
| 15 | -public class DBHelper implements CommandLineRunner{ | |
| 16 | - | |
| 17 | - private final static int maxBufSize = 1000; | |
| 18 | - private final static int fixedMinute = 10; | |
| 19 | - | |
| 20 | - private static LinkedList<Log> buffer = new LinkedList<>(); | |
| 21 | - | |
| 22 | - @Autowired | |
| 23 | - private FixedTimePersistenceThread fixedTimeThread; | |
| 24 | - | |
| 25 | - public void save(Log log){ | |
| 26 | - buffer.add(log); | |
| 27 | - | |
| 28 | - if(buffer.size() >= maxBufSize) | |
| 29 | - fixedTimeThread.start(); | |
| 30 | - } | |
| 31 | - | |
| 32 | - @Component | |
| 33 | - public static class FixedTimePersistenceThread extends Thread{ | |
| 34 | - | |
| 35 | - @Autowired | |
| 36 | - DBPersistence persistence; | |
| 37 | - | |
| 38 | - @Override | |
| 39 | - public void run() { | |
| 40 | - persistence.batchSave(buffer); | |
| 41 | - } | |
| 42 | - } | |
| 43 | - | |
| 44 | - @Override | |
| 45 | - public void run(String... arg0) throws Exception { | |
| 46 | - //Application.mainServices.scheduleWithFixedDelay(fixedTimeThread, fixedMinute, fixedMinute, TimeUnit.MINUTES); | |
| 47 | - } | |
| 48 | -} |
src/main/java/com/bsth/oplog/db/mysql/DBPersistence.java deleted
100644 → 0
| 1 | -package com.bsth.oplog.db.mysql; | |
| 2 | - | |
| 3 | -import java.sql.Date; | |
| 4 | -import java.sql.PreparedStatement; | |
| 5 | -import java.sql.SQLException; | |
| 6 | -import java.util.ArrayList; | |
| 7 | -import java.util.LinkedList; | |
| 8 | -import java.util.List; | |
| 9 | - | |
| 10 | -import org.slf4j.Logger; | |
| 11 | -import org.slf4j.LoggerFactory; | |
| 12 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 13 | -import org.springframework.jdbc.core.BatchPreparedStatementSetter; | |
| 14 | -import org.springframework.jdbc.core.JdbcTemplate; | |
| 15 | -import org.springframework.stereotype.Component; | |
| 16 | - | |
| 17 | -import com.bsth.oplog.Log; | |
| 18 | - | |
| 19 | -/** | |
| 20 | - * | |
| 21 | - * @ClassName: DBPersistence | |
| 22 | - * @Description: TODO(mysql 批量入库) | |
| 23 | - * @author PanZhao | |
| 24 | - * @date 2016年10月20日 上午9:44:00 | |
| 25 | - * | |
| 26 | - */ | |
| 27 | -@Component | |
| 28 | -public class DBPersistence { | |
| 29 | - | |
| 30 | - @Autowired | |
| 31 | - JdbcTemplate jdbcTemplate; | |
| 32 | - | |
| 33 | - Logger logger = LoggerFactory.getLogger(DBPersistence.class); | |
| 34 | - | |
| 35 | - public void batchSave(LinkedList<Log> list){ | |
| 36 | - String sql = "insert into bsth_c_sys_op_log" | |
| 37 | - + "(timestamp, path, type,level, caller_class, caller_method, user_name, client_ip, server_ip, month, http_data, line_number)" | |
| 38 | - + " values(?,?,?,?,?,?,?,?,?,?,?,?)"; | |
| 39 | - | |
| 40 | - | |
| 41 | - List<Log> saveList = new ArrayList<>(list.size()); | |
| 42 | - Log log; | |
| 43 | - while(true){ | |
| 44 | - log = list.poll(); | |
| 45 | - if(log != null) | |
| 46 | - saveList.add(log); | |
| 47 | - else | |
| 48 | - break; | |
| 49 | - } | |
| 50 | - | |
| 51 | - Date month = new Date(System.currentTimeMillis()); | |
| 52 | - | |
| 53 | - try { | |
| 54 | - jdbcTemplate.batchUpdate(sql, new LogBatchPreparedStatementSetter(saveList, month)); | |
| 55 | - } catch (Exception e) { | |
| 56 | - logger.error("操作日志入库失败", e); | |
| 57 | - } | |
| 58 | - } | |
| 59 | - | |
| 60 | - private class LogBatchPreparedStatementSetter implements BatchPreparedStatementSetter{ | |
| 61 | - | |
| 62 | - List<Log> temList; | |
| 63 | - Date month; | |
| 64 | - | |
| 65 | - public LogBatchPreparedStatementSetter(final List<Log> list, Date month){ | |
| 66 | - this.temList = list; | |
| 67 | - this.month = month; | |
| 68 | - } | |
| 69 | - | |
| 70 | - @Override | |
| 71 | - public void setValues(PreparedStatement ps, int i) throws SQLException { | |
| 72 | - Log log = temList.get(i); | |
| 73 | - ps.setLong(1, log.getTimestamp()); | |
| 74 | - ps.setString(2, log.getPath()); | |
| 75 | - ps.setString(3, log.getType()); | |
| 76 | - ps.setString(4, log.getLevel()); | |
| 77 | - ps.setString(5, log.getCallerClass()); | |
| 78 | - ps.setString(6, log.getCallerMethod()); | |
| 79 | - ps.setString(7, log.getUserName()); | |
| 80 | - ps.setString(8, log.getClientIp()); | |
| 81 | - ps.setString(9, log.getServerIp()); | |
| 82 | - ps.setDate(10, month); | |
| 83 | - ps.setString(11, log.getHttpData()); | |
| 84 | - ps.setObject(12, log.getLineNumber()); | |
| 85 | - } | |
| 86 | - | |
| 87 | - @Override | |
| 88 | - public int getBatchSize() { | |
| 89 | - return temList.size(); | |
| 90 | - } | |
| 91 | - } | |
| 92 | -} |
src/main/java/com/bsth/oplog/db/mysql/db.sql deleted
100644 → 0
| 1 | -CREATE TABLE `bsth_c_sys_op_log` ( | |
| 2 | -`timestamp` bigint(20) NOT NULL , | |
| 3 | -`user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 4 | -`caller_class` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 5 | -`caller_method` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 6 | -`client_ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 7 | -`http_data` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL , | |
| 8 | -`level` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 9 | -`month` date NOT NULL , | |
| 10 | -`path` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 11 | -`server_ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , | |
| 12 | -`type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, | |
| 13 | -`line_number` int(11) NULL DEFAULT NULL | |
| 14 | -) | |
| 15 | -ENGINE=InnoDB | |
| 16 | -DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci | |
| 17 | -ROW_FORMAT=DYNAMIC | |
| 18 | - | |
| 19 | -PARTITION BY RANGE(TO_DAYS (month)) | |
| 20 | -( | |
| 21 | -PARTITION p201610 VALUES LESS THAN (TO_DAYS('2016-11-01')), | |
| 22 | -PARTITION p201611 VALUES LESS THAN (TO_DAYS('2016-12-01')), | |
| 23 | -PARTITION p201612 VALUES LESS THAN (TO_DAYS('2017-01-01')), | |
| 24 | - | |
| 25 | -PARTITION p201701 VALUES LESS THAN (TO_DAYS('2017-02-01')), | |
| 26 | -PARTITION p201702 VALUES LESS THAN (TO_DAYS('2017-03-01')), | |
| 27 | -PARTITION p201703 VALUES LESS THAN (TO_DAYS('2017-04-01')), | |
| 28 | -PARTITION p201704 VALUES LESS THAN (TO_DAYS('2017-05-01')), | |
| 29 | -PARTITION p201705 VALUES LESS THAN (TO_DAYS('2017-06-01')), | |
| 30 | -PARTITION p201706 VALUES LESS THAN (TO_DAYS('2017-07-01')), | |
| 31 | -PARTITION p201707 VALUES LESS THAN (TO_DAYS('2017-08-01')), | |
| 32 | -PARTITION p201708 VALUES LESS THAN (TO_DAYS('2017-09-01')), | |
| 33 | -PARTITION p201709 VALUES LESS THAN (TO_DAYS('2017-10-01')), | |
| 34 | -PARTITION p201710 VALUES LESS THAN (TO_DAYS('2017-11-01')), | |
| 35 | -PARTITION p201711 VALUES LESS THAN (TO_DAYS('2017-12-01')), | |
| 36 | -PARTITION p201712 VALUES LESS THAN (TO_DAYS('2018-01-01')), | |
| 37 | - | |
| 38 | - | |
| 39 | -PARTITION p201801 VALUES LESS THAN (TO_DAYS('2018-02-01')), | |
| 40 | -PARTITION p201802 VALUES LESS THAN (TO_DAYS('2018-03-01')), | |
| 41 | -PARTITION p201803 VALUES LESS THAN (TO_DAYS('2018-04-01')), | |
| 42 | -PARTITION p201804 VALUES LESS THAN (TO_DAYS('2018-05-01')), | |
| 43 | -PARTITION p201805 VALUES LESS THAN (TO_DAYS('2018-06-01')), | |
| 44 | -PARTITION p201806 VALUES LESS THAN (TO_DAYS('2018-07-01')), | |
| 45 | -PARTITION p201807 VALUES LESS THAN (TO_DAYS('2018-08-01')), | |
| 46 | -PARTITION p201808 VALUES LESS THAN (TO_DAYS('2018-09-01')), | |
| 47 | -PARTITION p201809 VALUES LESS THAN (TO_DAYS('2018-10-01')), | |
| 48 | -PARTITION p201810 VALUES LESS THAN (TO_DAYS('2018-11-01')), | |
| 49 | -PARTITION p201811 VALUES LESS THAN (TO_DAYS('2018-12-01')), | |
| 50 | -PARTITION p201812 VALUES LESS THAN (TO_DAYS('2019-01-01')), | |
| 51 | - | |
| 52 | -PARTITION p201901 VALUES LESS THAN (TO_DAYS('2019-02-01')), | |
| 53 | -PARTITION p201902 VALUES LESS THAN (TO_DAYS('2019-03-01')), | |
| 54 | -PARTITION p201903 VALUES LESS THAN (TO_DAYS('2019-04-01')), | |
| 55 | -PARTITION p201904 VALUES LESS THAN (TO_DAYS('2019-05-01')), | |
| 56 | -PARTITION p201905 VALUES LESS THAN (TO_DAYS('2019-06-01')), | |
| 57 | -PARTITION p201906 VALUES LESS THAN (TO_DAYS('2019-07-01')), | |
| 58 | -PARTITION p201907 VALUES LESS THAN (TO_DAYS('2019-08-01')), | |
| 59 | -PARTITION p201908 VALUES LESS THAN (TO_DAYS('2019-09-01')), | |
| 60 | -PARTITION p201909 VALUES LESS THAN (TO_DAYS('2019-10-01')), | |
| 61 | -PARTITION p201910 VALUES LESS THAN (TO_DAYS('2019-11-01')), | |
| 62 | -PARTITION p201911 VALUES LESS THAN (TO_DAYS('2019-12-01')), | |
| 63 | -PARTITION p201912 VALUES LESS THAN (TO_DAYS('2020-01-01')) | |
| 64 | - | |
| 65 | - | |
| 66 | -); | |
| 67 | - |
src/main/java/com/bsth/oplog/http/HttpOpLogInterceptor.java deleted
100644 → 0
| 1 | -package com.bsth.oplog.http; | |
| 2 | - | |
| 3 | -import javax.servlet.http.HttpServletRequest; | |
| 4 | -import javax.servlet.http.HttpServletResponse; | |
| 5 | - | |
| 6 | -import com.bsth.common.Constants; | |
| 7 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 8 | -import org.springframework.util.AntPathMatcher; | |
| 9 | -import org.springframework.util.PathMatcher; | |
| 10 | -import org.springframework.web.method.HandlerMethod; | |
| 11 | -import org.springframework.web.servlet.HandlerInterceptor; | |
| 12 | -import org.springframework.web.servlet.ModelAndView; | |
| 13 | - | |
| 14 | -/** | |
| 15 | - * | |
| 16 | - * @ClassName: HttpOpLogger | |
| 17 | - * @Description: TODO(HTTP 接口日志拦截器) | |
| 18 | - * @author PanZhao | |
| 19 | - * @date 2016年10月20日 上午12:03:11 | |
| 20 | - * | |
| 21 | - */ | |
| 22 | -//@Component | |
| 23 | -public class HttpOpLogInterceptor implements HandlerInterceptor { | |
| 24 | - | |
| 25 | - private final PathMatcher pathMatcher = new AntPathMatcher(); | |
| 26 | - | |
| 27 | - // GET 白名单 | |
| 28 | - private String[] httpGetWhiteList = { "/user/login/**", "/user/currentUser","/dictionary/**", "/module/findByCurrentUser", "/gps/**", "/error/**", Constants.XD_CHILD_PAGES}; | |
| 29 | - | |
| 30 | - // POST 白名单 | |
| 31 | - private String[] httpPostWhiteList = { | |
| 32 | - "/control/upstream" | |
| 33 | - }; | |
| 34 | - | |
| 35 | - @Autowired | |
| 36 | - HttpRecorder httpRecorder; | |
| 37 | - | |
| 38 | - @Override | |
| 39 | - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3) | |
| 40 | - throws Exception { | |
| 41 | - | |
| 42 | - } | |
| 43 | - | |
| 44 | - @Override | |
| 45 | - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView arg3) | |
| 46 | - throws Exception { | |
| 47 | - | |
| 48 | - String method = request.getMethod(), path = request.getRequestURI(); | |
| 49 | - // white list | |
| 50 | - String[] whiteList = method == "GET" ? httpGetWhiteList : httpPostWhiteList; | |
| 51 | - | |
| 52 | - if (!isWhiteURL(whiteList, path)) | |
| 53 | - httpRecorder.record(request, (HandlerMethod)arg2); | |
| 54 | - } | |
| 55 | - | |
| 56 | - @Override | |
| 57 | - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { | |
| 58 | - | |
| 59 | - return true; | |
| 60 | - } | |
| 61 | - | |
| 62 | - private boolean isWhiteURL(String[] whiteList, String currentURL) { | |
| 63 | - for (String whiteURL : whiteList) { | |
| 64 | - if (pathMatcher.match(whiteURL, currentURL)) { | |
| 65 | - return true; | |
| 66 | - } | |
| 67 | - } | |
| 68 | - return false; | |
| 69 | - } | |
| 70 | -} |
src/main/java/com/bsth/oplog/http/HttpRecorder.java deleted
100644 → 0
| 1 | -package com.bsth.oplog.http; | |
| 2 | - | |
| 3 | -import java.lang.reflect.Method; | |
| 4 | -import java.net.InetAddress; | |
| 5 | -import java.net.UnknownHostException; | |
| 6 | - | |
| 7 | -import javax.servlet.http.HttpServletRequest; | |
| 8 | - | |
| 9 | -import org.slf4j.Logger; | |
| 10 | -import org.slf4j.LoggerFactory; | |
| 11 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 12 | -import org.springframework.stereotype.Component; | |
| 13 | -import org.springframework.web.method.HandlerMethod; | |
| 14 | - | |
| 15 | -import com.alibaba.fastjson.JSON; | |
| 16 | -import com.bsth.entity.sys.SysUser; | |
| 17 | -import com.bsth.oplog.Level; | |
| 18 | -import com.bsth.oplog.Log; | |
| 19 | -import com.bsth.oplog.db.DBHelper; | |
| 20 | -import com.bsth.security.util.SecurityUtils; | |
| 21 | -import com.bsth.util.IpUtils; | |
| 22 | - | |
| 23 | -/** | |
| 24 | - * | |
| 25 | - * @ClassName: HttpRecorder | |
| 26 | - * @Description: TODO(HTTP 日志记录器) | |
| 27 | - * @author PanZhao | |
| 28 | - * @date 2016年10月20日 下午12:56:56 | |
| 29 | - * | |
| 30 | - */ | |
| 31 | -@Component | |
| 32 | -public class HttpRecorder { | |
| 33 | - | |
| 34 | - Logger logger = LoggerFactory.getLogger(HttpRecorder.class); | |
| 35 | - | |
| 36 | - private final static int httpDataMaxLen = 500; | |
| 37 | - | |
| 38 | - @Autowired | |
| 39 | - DBHelper persistenceBuff; | |
| 40 | - | |
| 41 | - public void record(HttpServletRequest request, HandlerMethod method){ | |
| 42 | - Log log = new Log(); | |
| 43 | - | |
| 44 | - log.setType(request.getMethod().toUpperCase()); | |
| 45 | - log.setLevel(Level.INFO.toString()); | |
| 46 | - try { | |
| 47 | - log.setServerIp(InetAddress.getLocalHost().getHostAddress()); | |
| 48 | - } catch (UnknownHostException e) { | |
| 49 | - e.printStackTrace(); | |
| 50 | - } | |
| 51 | - | |
| 52 | - log.setPath(request.getRequestURI()); | |
| 53 | - //Caller | |
| 54 | - Method refMethod = method.getMethod(); | |
| 55 | - log.setCallerClass(refMethod.getDeclaringClass().getName()); | |
| 56 | - log.setCallerMethod(refMethod.getName()); | |
| 57 | - | |
| 58 | - //Primary Key | |
| 59 | - log.setTimestamp(System.currentTimeMillis()); | |
| 60 | - | |
| 61 | - SysUser user = SecurityUtils.getCurrentUser(); | |
| 62 | - if(user != null) | |
| 63 | - log.setUserName(user.getUserName()); | |
| 64 | - //request | |
| 65 | - log.setClientIp(IpUtils.getIpAddr(request)); | |
| 66 | - log.setHttpData(httpData(request)); | |
| 67 | - | |
| 68 | - //save | |
| 69 | - persistenceBuff.save(log); | |
| 70 | - } | |
| 71 | - | |
| 72 | - private String httpData(HttpServletRequest request){ | |
| 73 | - String rs = JSON.toJSONString(request.getParameterMap()); | |
| 74 | - | |
| 75 | - if(rs.length() > httpDataMaxLen) | |
| 76 | - rs = rs.substring(0, httpDataMaxLen); | |
| 77 | - | |
| 78 | - return rs.replaceAll("\"", "‘"); | |
| 79 | - } | |
| 80 | -} |
src/main/java/com/bsth/oplog/normal/OpLogger.java deleted
100644 → 0
| 1 | -package com.bsth.oplog.normal; | |
| 2 | - | |
| 3 | -import java.net.InetAddress; | |
| 4 | -import java.net.UnknownHostException; | |
| 5 | - | |
| 6 | -import javax.servlet.http.HttpServletRequest; | |
| 7 | - | |
| 8 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | -import org.springframework.stereotype.Component; | |
| 10 | - | |
| 11 | -import com.bsth.entity.sys.SysUser; | |
| 12 | -import com.bsth.oplog.Log; | |
| 13 | -import com.bsth.oplog.db.DBHelper; | |
| 14 | -import com.bsth.security.util.SecurityUtils; | |
| 15 | -import com.bsth.util.IpUtils; | |
| 16 | - | |
| 17 | -/** | |
| 18 | - * | |
| 19 | - * @ClassName: OpLogger | |
| 20 | - * @Description: TODO(常规的操作日志记录器) | |
| 21 | - * @author PanZhao | |
| 22 | - * @date 2016年10月21日 上午12:52:30 | |
| 23 | - * | |
| 24 | - */ | |
| 25 | -@Component | |
| 26 | -public class OpLogger { | |
| 27 | - | |
| 28 | - @Autowired | |
| 29 | - DBHelper dbHelper; | |
| 30 | - | |
| 31 | - public void info(String path){ | |
| 32 | - save(getInitLog(path)); | |
| 33 | - } | |
| 34 | - | |
| 35 | - public void info(String path, HttpServletRequest request){ | |
| 36 | - Log log = getInitLog(path); | |
| 37 | - | |
| 38 | - if(request != null){ | |
| 39 | - SysUser user = SecurityUtils.getCurrentUser(); | |
| 40 | - if(user != null) | |
| 41 | - log.setUserName(user.getUserName()); | |
| 42 | - | |
| 43 | - log.setClientIp(IpUtils.getIpAddr(request)); | |
| 44 | - } | |
| 45 | - | |
| 46 | - save(log); | |
| 47 | - } | |
| 48 | - | |
| 49 | - public void info(String path, HttpServletRequest request, String description){ | |
| 50 | - | |
| 51 | - } | |
| 52 | - | |
| 53 | - public static Log getInitLog(String path){ | |
| 54 | - Log log = new Log(); | |
| 55 | - log.setTimestamp(System.currentTimeMillis()); | |
| 56 | - log.setPath(path); | |
| 57 | - log.setType("NORMAL"); | |
| 58 | - | |
| 59 | - //get caller | |
| 60 | - StackTraceElement[] stack = (new Throwable()).getStackTrace(); | |
| 61 | - //注意调用链的顺序,此时2为实际调用者 | |
| 62 | - StackTraceElement caller = stack[2]; | |
| 63 | - | |
| 64 | - log.setCallerClass(caller.getClassName()); | |
| 65 | - log.setCallerMethod(caller.getMethodName()); | |
| 66 | - log.setLineNumber(caller.getLineNumber()); | |
| 67 | - | |
| 68 | - try { | |
| 69 | - log.setServerIp(InetAddress.getLocalHost().getHostAddress()); | |
| 70 | - } catch (UnknownHostException e) { | |
| 71 | - e.printStackTrace(); | |
| 72 | - } | |
| 73 | - | |
| 74 | - return log; | |
| 75 | - } | |
| 76 | - | |
| 77 | - public void save(Log log){ | |
| 78 | - dbHelper.save(log); | |
| 79 | - } | |
| 80 | -} |
src/main/java/com/bsth/repository/CarParkRepository.java
| ... | ... | @@ -106,7 +106,7 @@ public interface CarParkRepository extends BaseRepository<CarPark, Integer>{ |
| 106 | 106 | String gParkPoint,String dbType,Integer radius,String shapesType,Integer id ); |
| 107 | 107 | |
| 108 | 108 | @Query(value = "select st_astext(g_park_point), shapes_type, g_center_point, radius,park_code,park_name from bsth_c_car_park where park_code=?1", nativeQuery = true) |
| 109 | - public Object[][] bufferAera(String parkCode); | |
| 109 | + public Object[][] findBufferArea(String parkCode); | |
| 110 | 110 | |
| 111 | 111 | @Query(value ="SELECT p.park_name,p.park_code from bsth_c_car_park p where p.park_code = ?1", nativeQuery=true) |
| 112 | 112 | List<Object[]> selectTccInfoByCode(String parkCode); | ... | ... |
src/main/java/com/bsth/repository/LsSectionRouteRepository.java
| ... | ... | @@ -35,12 +35,6 @@ public interface LsSectionRouteRepository extends BaseRepository<LsSectionRoute, |
| 35 | 35 | @Modifying |
| 36 | 36 | @Query(value = "UPDATE LsSectionRoute lsr set lsr.destroy = 1 where lsr.id in (?1)") |
| 37 | 37 | void batchDestroy(List<Integer> ids); |
| 38 | - | |
| 39 | - /** | |
| 40 | - * 查询待更新线路的路段路由 | |
| 41 | - */ | |
| 42 | - @Query(value = "SELECT sr FROM LsSectionRoute sr where sr.line.id =?1 and sr.lineCode=?2 and sr.versions=?3 and sr.destroy=0") | |
| 43 | - public List<LsSectionRoute> findupdated(Integer lineId,String lineCode,Integer versions); | |
| 44 | 38 | |
| 45 | 39 | @Query(value ="SELECT a.sectionrouteId," + |
| 46 | 40 | "a.sectionrouteLine," + |
| ... | ... | @@ -78,64 +72,7 @@ public interface LsSectionRouteRepository extends BaseRepository<LsSectionRoute, |
| 78 | 72 | " FROM bsth_c_ls_sectionroute r where r.line = ?1 and r.directions = ?2 and r.versions=?3 and r.destroy=0 ) a " + |
| 79 | 73 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id order by a.sectionrouteCode asc", nativeQuery=true) |
| 80 | 74 | List<Object[]> getSectionRoute(int lineId, int directions,int version); |
| 81 | - | |
| 82 | - /** | |
| 83 | - * @Description :TODO(查询路段信息) | |
| 84 | - * | |
| 85 | - * @param map <id:路段路由ID> | |
| 86 | - * | |
| 87 | - * @return List<Object[]> | |
| 88 | - */ | |
| 89 | - @Query(value ="SELECT a.sectionRouteId," + | |
| 90 | - "a.sectionRouteLineCode," + | |
| 91 | - "a.sectionRouteCode," + | |
| 92 | - "a.sectionRouteDirections," + | |
| 93 | - "a.sectionRouteLine," + | |
| 94 | - "a.sectionRouteSection," + | |
| 95 | - "a.sectionRouteDescriptions," + | |
| 96 | - "a.sectionRouteCreateBy," + | |
| 97 | - "a.sectionRouteCreateDate," + | |
| 98 | - "a.sectionRouteUpdateBy," + | |
| 99 | - "a.sectionRouteUpdateDate," + | |
| 100 | - "a.sectionRouteVersions," + | |
| 101 | - "a.sectionRouteDestroy," + | |
| 102 | - "b.id AS sectionId," + | |
| 103 | - "b.section_code AS sectionCode," + | |
| 104 | - "b.section_name AS sectionName," + | |
| 105 | - "b.road_coding AS sectionRoadCoding," + | |
| 106 | - "b.end_node AS sectionEndCode," + | |
| 107 | - "b.start_node AS sectionStartNode," + | |
| 108 | - "b.middle_node AS sectionMiddleNode," + | |
| 109 | - "b.section_type AS sectionType," + | |
| 110 | - "ST_AsText(b.csection_vector) AS sectionCsectionVector," + | |
| 111 | - "ST_AsText(b.bsection_vector) AS sectionBsectionVector," + | |
| 112 | - "ST_AsText(b.gsection_vector) AS sectionGsectionVector," + | |
| 113 | - "b.section_distance AS sectionDistance," + | |
| 114 | - "b.section_time AS sectionTime," + | |
| 115 | - "b.db_type AS sectionDbtype," + | |
| 116 | - "b.speed_limit AS sectionSpeedLimit," + | |
| 117 | - "b.descriptions AS sectionDescriptions," + | |
| 118 | - "b.create_by AS sectionCreateBy," + | |
| 119 | - "b.create_date AS sectionCreateDate," + | |
| 120 | - "b.update_by AS sectionUpdateBy," + | |
| 121 | - "b.update_date AS sectionUpdateDate," + | |
| 122 | - "b.versions AS sectionVersion , a.isRoadeSpeed FROM (" + | |
| 123 | - " SELECT s.id AS sectionRouteId," + | |
| 124 | - "s.line_code AS sectionRouteLineCode," + | |
| 125 | - "s.sectionroute_code AS sectionRouteCode," + | |
| 126 | - "s.directions AS sectionRouteDirections," + | |
| 127 | - "s.line AS sectionRouteLine," + | |
| 128 | - "s.section AS sectionRouteSection," + | |
| 129 | - "s.descriptions AS sectionRouteDescriptions," + | |
| 130 | - "s.create_by AS sectionRouteCreateBy," + | |
| 131 | - "s.create_date AS sectionRouteCreateDate," + | |
| 132 | - "s.update_by AS sectionRouteUpdateBy," + | |
| 133 | - "s.update_date AS sectionRouteUpdateDate," + | |
| 134 | - "s.versions AS sectionRouteVersions," + | |
| 135 | - "s.destroy AS sectionRouteDestroy, s.is_roade_speed AS isRoadeSpeed " + | |
| 136 | - " FROM bsth_c_ls_sectionroute s where s.id =?1) a " + | |
| 137 | - " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) | |
| 138 | - List<Object[]> findSectionRouteInfoFormId(int id); | |
| 75 | + | |
| 139 | 76 | /** |
| 140 | 77 | * 更新路线前删除线路版本下历史原有路段路由 |
| 141 | 78 | */ |
| ... | ... | @@ -144,20 +81,23 @@ public interface LsSectionRouteRepository extends BaseRepository<LsSectionRoute, |
| 144 | 81 | @Query(value="DELETE from bsth_c_ls_sectionroute where line = ?1 and directions = ?2 and versions=?3", nativeQuery=true) |
| 145 | 82 | public void batchDelete(Integer line, Integer dir, Integer versions); |
| 146 | 83 | |
| 147 | - /** | |
| 148 | - * 更新路线前撤销线路版本下历史原有路段路由 | |
| 149 | - */ | |
| 150 | - @Modifying | |
| 151 | - @Query(value="UPDATE bsth_c_ls_sectionroute set destroy = 1 where line = ?1 and directions = ?2 and versions=?3", nativeQuery=true) | |
| 152 | - public void batchDestroy(Integer sectionRouteLine, Integer directions, Integer versions); | |
| 153 | - | |
| 84 | + /** | |
| 85 | + * 在站点路由更新时(站点路由可能改变路由编号,如起点、改变上一站点) | |
| 86 | + * 将当前路由编号及以后的编号批量递增10 | |
| 87 | + * @param lsSectionRoute | |
| 88 | + */ | |
| 154 | 89 | @Modifying |
| 155 | - @Query(value="UPDATE bsth_c_ls_sectionroute set sectionroute_code = (sectionroute_code+1) where line_code = ?1 and directions = ?2 and sectionroute_code >=?3 and destroy = 0", nativeQuery=true) | |
| 156 | - public void sectionUpdSectionRouteCode(String lineCode, Integer directions, Integer sectionrouteCode); | |
| 157 | - | |
| 90 | + @Query(value="UPDATE bsth_c_ls_sectionroute set sectionroute_code = (sectionroute_code + 10) where line = :#{#lsSectionRoute.line.id} and destroy = 0 and versions = :#{#lsSectionRoute.versions} and directions = :#{#lsSectionRoute.directions} and sectionroute_code >= :#{#lsSectionRoute.sectionrouteCode}", nativeQuery=true) | |
| 91 | + void updateSectiouRouteCode(LsSectionRoute lsSectionRoute); | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 交换历史站点路由指定版本的上下行站点路由 | |
| 95 | + * @param lineId | |
| 96 | + * @param version | |
| 97 | + */ | |
| 158 | 98 | @Modifying |
| 159 | - @Query(value="update bsth_c_ls_sectionroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) | |
| 160 | - public void sectionRouteDir(Integer line); | |
| 99 | + @Query(value="UPDATE bsth_c_ls_sectionroute SET directions = CASE directions WHEN 1 THEN 0 WHEN 0 THEN 1 END WHERE line_code = ?1 AND versions = ?2", nativeQuery=true) | |
| 100 | + void exchangeDirection(int lineId, int version); | |
| 161 | 101 | |
| 162 | 102 | /** |
| 163 | 103 | * @Description :TODO(查询路段信息) |
| ... | ... | @@ -223,4 +163,15 @@ public interface LsSectionRouteRepository extends BaseRepository<LsSectionRoute, |
| 223 | 163 | @Modifying |
| 224 | 164 | @Query(value="insert into bsth_c_ls_sectionroute (line_code,section_code,sectionroute_code,directions,line,section,descriptions,versions,destroy,is_roade_speed) select line_code,section_code,sectionroute_code,directions,line,section,descriptions,?3 as versions,destroy,is_roade_speed from bsth_c_ls_sectionroute where line = ?1 and versions = ?2 and destroy = 0", nativeQuery = true) |
| 225 | 165 | void cloneFromHistoryVersion(Integer lineId, Integer oldVersion, Integer newVersion); |
| 166 | + | |
| 167 | + /** | |
| 168 | + * 引用另一上下行路段(上行引用下行,下行引用上行) | |
| 169 | + * @param lineId | |
| 170 | + * @param version | |
| 171 | + * @param direction | |
| 172 | + * @param otherDirection | |
| 173 | + */ | |
| 174 | + @Modifying | |
| 175 | + @Query(value="INSERT INTO bsth_c_ls_sectionroute (line_code,section_code,sectionroute_code,directions,line,section,descriptions,versions,destroy,is_roade_speed) SELECT line_code,section_code,a.sectionroute_code + b.sectionroute_code,?3 AS directions,a.line,section,descriptions,versions,destroy,is_roade_speed FROM bsth_c_ls_sectionroute a JOIN (SELECT IFNULL(MAX(sectionroute_code), 0) sectionroute_code FROM bsth_c_ls_sectionroute WHERE line = ?1 AND versions = ?2 AND directions = ?3 AND destroy = 0) b WHERE a.line = ?1 AND versions = ?2 AND directions = ?4 AND destroy = 0", nativeQuery = true) | |
| 176 | + void quoteOtherSide(Integer lineId, Integer version, Integer direction, Integer otherDirection); | |
| 226 | 177 | } | ... | ... |
src/main/java/com/bsth/repository/LsStationRouteRepository.java
| ... | ... | @@ -80,11 +80,6 @@ public interface LsStationRouteRepository extends BaseRepository<LsStationRoute, |
| 80 | 80 | "ORDER BY " + |
| 81 | 81 | "lineCode,directions,stationRouteCode") |
| 82 | 82 | List<Map<String, String>> findLineWithLineCode4Ygc(String lineCode,Integer lineVersion); |
| 83 | - | |
| 84 | - // 批量修改站点行业编码 | |
| 85 | - @Modifying | |
| 86 | - @Query(value="update bsth_c_ls_stationroute set industry_code =?2 where id = ?1 ", nativeQuery=true) | |
| 87 | - void updIndustryCode(Integer id, String industryCode); | |
| 88 | 83 | |
| 89 | 84 | /** |
| 90 | 85 | * 将对应线路、版本、方向、未撤销的站点路由中 |
| ... | ... | @@ -121,17 +116,15 @@ public interface LsStationRouteRepository extends BaseRepository<LsStationRoute, |
| 121 | 116 | @Modifying |
| 122 | 117 | @Query(value="UPDATE bsth_c_ls_stationroute set station_route_code = (station_route_code + 10) where line = :#{#lsStationRoute.line.id} and destroy = 0 and versions = :#{#lsStationRoute.versions} and directions = :#{#lsStationRoute.directions} and station_route_code >= :#{#lsStationRoute.stationRouteCode}", nativeQuery=true) |
| 123 | 118 | void updateStatiouRouteCode(LsStationRoute lsStationRoute); |
| 124 | - | |
| 125 | - @Modifying | |
| 126 | - @Query(value="update bsth_c_ls_stationroute set directions = case directions when 1 then 0 when 0 then 1 end where line = ?1 ", nativeQuery=true) | |
| 127 | - void stationRouteDir(Integer line); | |
| 128 | 119 | |
| 129 | - @Query("select r from LsStationRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.stationRouteCode") | |
| 130 | - List<LsStationRoute> findByLine(int lineId, int dir); | |
| 131 | - | |
| 132 | - @Modifying | |
| 133 | - @Query(value="update bsth_c_ls_stationroute set distances =?2 where id = ?1 ", nativeQuery=true) | |
| 134 | - void upddis(Integer id,Double dis); | |
| 120 | + /** | |
| 121 | + * 交换历史站点路由指定版本的上下行站点路由 | |
| 122 | + * @param lineId | |
| 123 | + * @param version | |
| 124 | + */ | |
| 125 | + @Modifying | |
| 126 | + @Query(value="UPDATE bsth_c_ls_stationroute SET directions = CASE directions WHEN 1 THEN 0 WHEN 0 THEN 1 END WHERE line = ?1 AND versions = ?2", nativeQuery=true) | |
| 127 | + void exchangeDirection(int lineId, int version); | |
| 135 | 128 | |
| 136 | 129 | @Query(value="select * from bsth_c_ls_stationroute where line_code = ?3 and directions = ?4 and destroy = 0 and versions = ?5 limit ?1,?2", nativeQuery=true) |
| 137 | 130 | Iterable<LsStationRoute> page(int start , int end , int line ,int dir, int version); |
| ... | ... | @@ -161,4 +154,14 @@ public interface LsStationRouteRepository extends BaseRepository<LsStationRoute, |
| 161 | 154 | @Modifying |
| 162 | 155 | @Query(value="insert into bsth_c_ls_stationroute (line,station,station_name,station_route_code,line_code,station_code,station_mark,out_station_nmber,directions,distances,to_time,first_time,end_time,descriptions,destroy,versions,industry_code,station_name_en,shaped_type,radius,buffer_polygon,buffer_polygon_wgs) select line,station,station_name,station_route_code,line_code,station_code,station_mark,out_station_nmber,directions,distances,to_time,first_time,end_time,descriptions,destroy,?3 as versions,industry_code,station_name_en,shaped_type,radius,buffer_polygon,buffer_polygon_wgs from bsth_c_ls_stationroute where line = ?1 and versions = ?2 and destroy = 0", nativeQuery = true) |
| 163 | 156 | void cloneFromHistoryVersion(Integer lineId, Integer oldVersion, Integer newVersion); |
| 157 | + | |
| 158 | + /** | |
| 159 | + * | |
| 160 | + * @param lineId | |
| 161 | + * @param version | |
| 162 | + * @param dir | |
| 163 | + * @return | |
| 164 | + */ | |
| 165 | + @Query("select r from LsStationRoute r where r.line.id=?1 and r.versions=?2 and r.directions=?3 and r.destroy=0 order by r.stationRouteCode") | |
| 166 | + List<LsStationRoute> findByLineVersion(Integer lineId, Integer version, Integer direction, Integer stationRouteCode); | |
| 164 | 167 | } | ... | ... |
src/main/java/com/bsth/repository/RoadSpeedRepository.java deleted
100644 → 0
| 1 | -package com.bsth.repository; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import org.springframework.data.jpa.repository.Modifying; | |
| 7 | -import org.springframework.data.jpa.repository.Query; | |
| 8 | -import org.springframework.stereotype.Repository; | |
| 9 | -import org.springframework.transaction.annotation.Transactional; | |
| 10 | - | |
| 11 | -import com.bsth.entity.RoadSpeed; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * | |
| 15 | - * @Interface: RoadSpeedRepository(路段限速Repository数据持久层接口) | |
| 16 | - * | |
| 17 | - * @Extends : BaseRepository | |
| 18 | - * | |
| 19 | - * @Description: TODO(线路版本Repository数据持久层接口) | |
| 20 | - * | |
| 21 | - * @Author bsth@lq | |
| 22 | - * | |
| 23 | - * @Version 公交调度系统BS版 0.1 | |
| 24 | - * | |
| 25 | - */ | |
| 26 | -@Repository | |
| 27 | -public interface RoadSpeedRepository extends BaseRepository<RoadSpeed, Integer> { | |
| 28 | - | |
| 29 | - @Transactional | |
| 30 | - @Modifying | |
| 31 | - @Query(value="INSERT INTO bsth_c_road_speed "+ | |
| 32 | - | |
| 33 | - "(name , g_road_vector , b_road_vector , speed, speed_start_date ,"+ | |
| 34 | - | |
| 35 | - "speed_end_date , is_start) VALUES (?1 , LINESTRINGFROMTEXT(?2) , LINESTRINGFROMTEXT(?3) , ?4 , ?5 , "+ | |
| 36 | - | |
| 37 | - "?6 , ?7 )", nativeQuery=true) | |
| 38 | - public void roadSpeedSave(String name, String gRoadVector, String bRoadVector, double speed, String speedStartDate, | |
| 39 | - String speedEndDate, int isStart); | |
| 40 | - | |
| 41 | - @Query(value="SELECT " | |
| 42 | - + "rs.id as id, " | |
| 43 | - + "rs.name as name, " | |
| 44 | - + "AsText(rs.b_road_vector) as bRoadVector, " | |
| 45 | - + "AsText(rs.g_road_vector) as gRoadVector, " | |
| 46 | - + "rs.speed as speed, " | |
| 47 | - + "rs.speed_start_date as speedStartDate, " | |
| 48 | - + "rs.speed_end_date as speedEndDate, " | |
| 49 | - + "rs.is_start as isStart, " | |
| 50 | - + "rs.line as line " | |
| 51 | - + "FROM bsth_c_road_speed rs WHERE rs.id=?1 ", nativeQuery=true) | |
| 52 | - public List<Object[]> selectById(Integer id); | |
| 53 | - | |
| 54 | - @Transactional | |
| 55 | - @Modifying | |
| 56 | - @Query(value="update bsth_c_road_speed set name=?2, g_road_vector=LINESTRINGFROMTEXT(?3)," | |
| 57 | - + " b_road_vector=LINESTRINGFROMTEXT(?4), speed=?5, speed_start_date=?6, " | |
| 58 | - + "speed_end_date=?7, is_start=?8 where id=?1", nativeQuery=true) | |
| 59 | - public void update(int id, String name, String gRoadVector, String bRoadVector, double speed, String speedStartDate, | |
| 60 | - String speedEndDate, int isStart); | |
| 61 | - | |
| 62 | -} |
src/main/java/com/bsth/repository/SectionRepository.java
| ... | ... | @@ -33,7 +33,7 @@ public interface SectionRepository extends BaseRepository<Section, Integer> { |
| 33 | 33 | * @return 最大ID值 |
| 34 | 34 | */ |
| 35 | 35 | @Query(value = "SELECT IFNULL(MAX(id), 0) FROM bsth_c_section", nativeQuery = true) |
| 36 | - int sectionMaxId(); | |
| 36 | + int findLatestSectionId(); | |
| 37 | 37 | |
| 38 | 38 | |
| 39 | 39 | /** | ... | ... |
src/main/java/com/bsth/repository/SectionRouteRepository.java
| ... | ... | @@ -28,14 +28,6 @@ import com.bsth.entity.SectionRoute; |
| 28 | 28 | @Repository |
| 29 | 29 | public interface SectionRouteRepository extends BaseRepository<SectionRoute, Integer> { |
| 30 | 30 | |
| 31 | - // 查询最大ID | |
| 32 | - @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(id) as num FROM bsth_c_sectionroute) k" , nativeQuery=true) | |
| 33 | - public long sectionRouteMaxId(); | |
| 34 | - | |
| 35 | - // 查询最大ID | |
| 36 | - @Query(value = "SELECT IFNULL(num,0) as maxId from (SELECT MAX(sectionroute_code) as num FROM bsth_c_sectionroute where line_code = 601010 and directions = 1 and destroy = 0) k" , nativeQuery=true) | |
| 37 | - public int sectionRouteCodeMaxId(); | |
| 38 | - | |
| 39 | 31 | /** |
| 40 | 32 | * @Description :TODO(查询路段信息) |
| 41 | 33 | * |
| ... | ... | @@ -80,66 +72,6 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 80 | 72 | " LEFT JOIN bsth_c_section b ON a.sectionrouteSection = b.id order by a.sectionrouteCode asc", nativeQuery=true) |
| 81 | 73 | List<Object[]> getSectionRoute(int lineId, int directions); |
| 82 | 74 | |
| 83 | - | |
| 84 | - /** | |
| 85 | - * @Description :TODO(查询路段信息) | |
| 86 | - * | |
| 87 | - * @param map <id:路段路由ID> | |
| 88 | - * | |
| 89 | - * @return List<Object[]> | |
| 90 | - */ | |
| 91 | - @Query(value ="SELECT a.sectionRouteId," + | |
| 92 | - "a.sectionRouteLineCode," + | |
| 93 | - "a.sectionRouteCode," + | |
| 94 | - "a.sectionRouteDirections," + | |
| 95 | - "a.sectionRouteLine," + | |
| 96 | - "a.sectionRouteSection," + | |
| 97 | - "a.sectionRouteDescriptions," + | |
| 98 | - "a.sectionRouteCreateBy," + | |
| 99 | - "a.sectionRouteCreateDate," + | |
| 100 | - "a.sectionRouteUpdateBy," + | |
| 101 | - "a.sectionRouteUpdateDate," + | |
| 102 | - "a.sectionRouteVersions," + | |
| 103 | - "a.sectionRouteDestroy," + | |
| 104 | - "b.id AS sectionId," + | |
| 105 | - "b.section_code AS sectionCode," + | |
| 106 | - "b.section_name AS sectionName," + | |
| 107 | - "b.road_coding AS sectionRoadCoding," + | |
| 108 | - "b.end_node AS sectionEndCode," + | |
| 109 | - "b.start_node AS sectionStartNode," + | |
| 110 | - "b.middle_node AS sectionMiddleNode," + | |
| 111 | - "b.section_type AS sectionType," + | |
| 112 | - "ST_AsText(b.csection_vector) AS sectionCsectionVector," + | |
| 113 | - "ST_AsText(b.bsection_vector) AS sectionBsectionVector," + | |
| 114 | - "ST_AsText(b.gsection_vector) AS sectionGsectionVector," + | |
| 115 | - "b.section_distance AS sectionDistance," + | |
| 116 | - "b.section_time AS sectionTime," + | |
| 117 | - "b.db_type AS sectionDbtype," + | |
| 118 | - "b.speed_limit AS sectionSpeedLimit," + | |
| 119 | - "b.descriptions AS sectionDescriptions," + | |
| 120 | - "b.create_by AS sectionCreateBy," + | |
| 121 | - "b.create_date AS sectionCreateDate," + | |
| 122 | - "b.update_by AS sectionUpdateBy," + | |
| 123 | - "b.update_date AS sectionUpdateDate," + | |
| 124 | - "b.versions AS sectionVersion , a.isRoadeSpeed FROM (" + | |
| 125 | - " SELECT s.id AS sectionRouteId," + | |
| 126 | - "s.line_code AS sectionRouteLineCode," + | |
| 127 | - "s.sectionroute_code AS sectionRouteCode," + | |
| 128 | - "s.directions AS sectionRouteDirections," + | |
| 129 | - "s.line AS sectionRouteLine," + | |
| 130 | - "s.section AS sectionRouteSection," + | |
| 131 | - "s.descriptions AS sectionRouteDescriptions," + | |
| 132 | - "s.create_by AS sectionRouteCreateBy," + | |
| 133 | - "s.create_date AS sectionRouteCreateDate," + | |
| 134 | - "s.update_by AS sectionRouteUpdateBy," + | |
| 135 | - "s.update_date AS sectionRouteUpdateDate," + | |
| 136 | - "s.versions AS sectionRouteVersions," + | |
| 137 | - "s.destroy AS sectionRouteDestroy, s.is_roade_speed AS isRoadeSpeed " + | |
| 138 | - " FROM bsth_c_sectionroute s where s.id =?1) a " + | |
| 139 | - " LEFT JOIN bsth_c_section b on a.sectionRouteSection = b.id", nativeQuery=true) | |
| 140 | - List<Object[]> findSectionRouteInfoFormId(int id); | |
| 141 | - | |
| 142 | - | |
| 143 | 75 | /** |
| 144 | 76 | * @Description :TODO(查询线路某方向下的上一个路段序号) |
| 145 | 77 | * |
| ... | ... | @@ -166,49 +98,12 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int |
| 166 | 98 | " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2 and c.destroy = 0", nativeQuery=true) |
| 167 | 99 | List<Object[]> sectionRouteVector(Integer lineId,Integer directions); |
| 168 | 100 | |
| 169 | - @Transactional | |
| 170 | - @Modifying | |
| 171 | - @Query(value="UPDATE bsth_c_sectionroute set is_roade_speed = ?1 where line= ?2 and directions=?3 ",nativeQuery = true) | |
| 172 | - void isRoadSpeedUpd(Integer isR,Integer line,Integer directions); | |
| 173 | - | |
| 174 | 101 | @Modifying |
| 175 | 102 | @Query(value="UPDATE bsth_c_sectionroute set sectionroute_code = (sectionroute_code+1) where line = ?1 and directions = ?2 and sectionroute_code >=?3 and destroy = 0", nativeQuery=true) |
| 176 | - public void sectionUpdSectionRouteCode(Integer line,Integer dir,Integer routeCod); | |
| 177 | - | |
| 178 | - @Modifying | |
| 179 | - @Query(value="UPDATE bsth_c_sectionroute set sectionroute_code = (sectionroute_code+1) where line_code = ?1 and directions = ?2 and sectionroute_code >=?3 and destroy = 0", nativeQuery=true) | |
| 180 | - public void sectionUpdSectionRouteCode(String lineCode,Integer dir,int routeCod); | |
| 181 | - | |
| 182 | - @Modifying | |
| 183 | - @Query(value="UPDATE bsth_c_sectionroute set destroy = 1 where id = ?1", nativeQuery=true) | |
| 184 | - public void sectionRouteIsDestroyUpdBatch(Integer id); | |
| 185 | - | |
| 186 | - /** | |
| 187 | - * 更新路线前撤销线路原有路段 | |
| 188 | - * | |
| 189 | - * @param line | |
| 190 | - * @param dir | |
| 191 | - */ | |
| 192 | - @Modifying | |
| 193 | - @Query(value="UPDATE bsth_c_sectionroute set destroy = 1 where line = ?1 and directions = ?2", nativeQuery=true) | |
| 194 | - public void sectionRouteUpdDestroy(Integer line,Integer dir); | |
| 195 | - | |
| 196 | - @Modifying | |
| 197 | - @Query(value="update bsth_c_sectionroute set directions = case directions when 1 then 0 when 0 then 1 end where line_code = ?1 ", nativeQuery=true) | |
| 198 | - public void sectionRouteDir(Integer line); | |
| 199 | - | |
| 200 | - // 更具线路批量撤销 | |
| 201 | - @Modifying | |
| 202 | - @Query(value="UPDATE SectionRoute sr set sr.destroy = 1 where sr.line.id = ?1 and sr.lineCode = ?2") | |
| 203 | - public void batchUpdate(Integer lineId, String lineCode); | |
| 204 | - | |
| 205 | - // 批量删除 | |
| 206 | - @Modifying | |
| 207 | - @Query(value="delete from SectionRoute sr where sr.line.id = ?1 and sr.lineCode = ?2") | |
| 208 | - public void batchDelete(Integer lineId, String lineCode); | |
| 103 | + void sectionUpdSectionRouteCode(Integer line,Integer dir,Integer routeCod); | |
| 209 | 104 | |
| 210 | 105 | @Query("select r from SectionRoute r where r.line.id=?1 and r.directions=?2 and r.destroy=0 order by r.sectionrouteCode") |
| 211 | - public List<SectionRoute> findByLine(Integer lineId, Integer dir); | |
| 106 | + List<SectionRoute> findByLine(Integer lineId, Integer dir); | |
| 212 | 107 | |
| 213 | 108 | /** |
| 214 | 109 | * 删除相应线路和版本的站点路由信息 | ... | ... |
src/main/java/com/bsth/repository/SectionSpeedRepository.java deleted
100644 → 0
| 1 | -package com.bsth.repository; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | - | |
| 5 | -import org.springframework.data.jpa.repository.Modifying; | |
| 6 | -import org.springframework.data.jpa.repository.Query; | |
| 7 | -import org.springframework.stereotype.Repository; | |
| 8 | -import org.springframework.transaction.annotation.Transactional; | |
| 9 | - | |
| 10 | -import com.bsth.entity.SectionSpeed; | |
| 11 | - | |
| 12 | -/** | |
| 13 | - * @description TODO(路段限速持久层) | |
| 14 | - * | |
| 15 | - * @author Administrator | |
| 16 | - * | |
| 17 | - * @date 2016年9月21日 13:31:25 | |
| 18 | - */ | |
| 19 | -@Repository | |
| 20 | -public interface SectionSpeedRepository extends BaseRepository<SectionSpeed, Integer>{ | |
| 21 | - | |
| 22 | - | |
| 23 | - @Transactional | |
| 24 | - @Modifying | |
| 25 | - @Query(value="INSERT INTO bsth_c_sectionspeed (" + | |
| 26 | - "line , line_code , directions , `code` , s_name,road,road_code ) " + | |
| 27 | - " VALUES (" + | |
| 28 | - "?1 , ?2 , ?3 , ?4 , ?5,?6,?7)", nativeQuery=true) | |
| 29 | - /** @description TODO(路段限速保存) @param (<line:线路ID;versions:版本号;destroy:是否撤销;directions:方向;sValue:限速;code:路段序号> )*/ | |
| 30 | - /** @param (<lineCode:线路编码;sName:路段名称;sType:路段类型;bLineStr:路段矢量百度坐标;gLineStr:路段矢量WGS坐标;descriptions:说明>)*/ | |
| 31 | - void add(Integer line,String lineCode,Integer directions,Integer code,String sName,Integer road,String road_code); | |
| 32 | - | |
| 33 | - @Transactional | |
| 34 | - @Modifying | |
| 35 | - @Query(value="INSERT INTO bsth_c_road("+ | |
| 36 | - "broad_vector,groad_vector,road_code,road_name,speed,id)"+ | |
| 37 | - " VALUES(" + | |
| 38 | - "ST_GeomFromText(?1),ST_GeomFromText(?2),?3,?4,?5,?6)", nativeQuery=true) | |
| 39 | - void insertRoad(String broad_vector,String groad_vector,String road_code,String road_name,Double speed,Integer id); | |
| 40 | - | |
| 41 | - @Query(value="SELECT b.`name` as linename, a.speedid, a.bLineStr ,a.line_code,a.s_name,a.speed ,a.line,a.codenumb,a.road,a.directions FROM ("+ | |
| 42 | - " SELECT p.id AS speedid,p.line,p.line_code,p.road,p.directions,p.`code` AS codenumb,p.s_name,ST_AsText(r.broad_vector) AS bLineStr,r.speed FROM ("+ | |
| 43 | - " SELECT s.id,s.line,s.line_code,s.road,s.directions,s.`code`,s.s_name FROM bsth_c_sectionspeed s where s.line =?1 and s.line_code=?2 and s.directions=?3) p LEFT JOIN bsth_c_road r ON p.road = r.id) a "+ | |
| 44 | - " LEFT JOIN bsth_c_line b ON a.line = b.id ORDER BY codenumb asc",nativeQuery = true) | |
| 45 | - List<Object[]> getSectionSpeedInfo(int lineId, String lineCode, int directions); | |
| 46 | - | |
| 47 | - /** 获取路网数据 */ | |
| 48 | - @Query(value="SELECT ST_AsText(g.bdjw) as SHAPE , id as id ,ldbh,mc FROM jjwgps_t_gjldb g where g.bdjw is not null ",nativeQuery = true) | |
| 49 | - List<Object[]> getroadNet(); | |
| 50 | - | |
| 51 | - /** */ | |
| 52 | - @Query(value="SELECT ST_Contains(ST_Buffer(ST_GeomFromText(?1),0.0005),ST_GeomFromText(?2)) AS result",nativeQuery = true) | |
| 53 | - int ST_Contains(String g1,String g2); | |
| 54 | - | |
| 55 | - | |
| 56 | - @Query(value="SELECT id FROM bsth_c_road r where r.road_code = ?1",nativeQuery = true) | |
| 57 | - Integer validateRoade(String raodCode); | |
| 58 | - | |
| 59 | - @Transactional | |
| 60 | - @Modifying | |
| 61 | - @Query(value="UPDATE bsth_c_sectionspeed set `code` =?1 where id=?2",nativeQuery = true) | |
| 62 | - void roadUpdCode(Integer code,Integer sSpeedId); | |
| 63 | - | |
| 64 | - @Transactional | |
| 65 | - @Modifying | |
| 66 | - @Query(value="UPDATE bsth_c_road set road_name = ?1 ,speed =?2 where id= ?3",nativeQuery = true) | |
| 67 | - void sSpeedUpd(String roadName,Double speed ,Integer id); | |
| 68 | - | |
| 69 | -} |
src/main/java/com/bsth/repository/StationRepository.java
| ... | ... | @@ -29,12 +29,12 @@ import com.bsth.entity.Station; |
| 29 | 29 | public interface StationRepository extends BaseRepository<Station, Integer> { |
| 30 | 30 | |
| 31 | 31 | /** |
| 32 | + * 查询最大站点ID | |
| 32 | 33 | * @Description :TODO(查询最大站点ID) |
| 33 | - * | |
| 34 | 34 | * @return int <站点id> |
| 35 | 35 | */ |
| 36 | 36 | @Query(value = "SELECT IFNULL(MAX(id), 0) FROM bsth_c_station", nativeQuery = true) |
| 37 | - int stationMaxId(); | |
| 37 | + int findLatestStationId(); | |
| 38 | 38 | |
| 39 | 39 | @Query(value = " SELECT CONCAT(ST_X(t.center_point), ' ', ST_Y(t.center_point)) b_jwpoints,t.id FROM (" + |
| 40 | 40 | " SELECT b.id,b.center_point,b.station_name,a.directions FROM (" + |
| ... | ... | @@ -44,5 +44,5 @@ public interface StationRepository extends BaseRepository<Station, Integer> { |
| 44 | 44 | List<Object[]> findStationName(Integer dir , String stationName); |
| 45 | 45 | |
| 46 | 46 | @Query(value = "SELECT ST_AsText(b.buffer_polygon_wgs) g_polygon_grid, b.shaped_type,CONCAT(ST_X(a.center_point), ' ', ST_Y(a.center_point)) g_center_point , b.radius, a.station_code, b.station_name FROM bsth_c_station a JOIN bsth_c_stationroute b ON a.id = b.station WHERE b.line_code = ?1 AND a.station_code = ?2", nativeQuery = true) |
| 47 | - Object[][] bufferAera(String lineCode, String stationCode); | |
| 47 | + Object[][] findBufferArea(String lineCode, String stationCode); | |
| 48 | 48 | } | ... | ... |
src/main/java/com/bsth/service/BaseService.java
| 1 | -package com.bsth.service; | |
| 2 | - | |
| 3 | -import org.springframework.data.domain.Page; | |
| 4 | -import org.springframework.data.domain.Pageable; | |
| 5 | - | |
| 6 | -import java.io.Serializable; | |
| 7 | -import java.util.Collection; | |
| 8 | -import java.util.Map; | |
| 9 | - | |
| 10 | -/** | |
| 11 | - * | |
| 12 | - * @ClassName: BaseService | |
| 13 | - * @Description: TODO(基础的Service接口) | |
| 14 | - * @author PanZhao | |
| 15 | - * @date 2016年3月17日 下午12:48:43 | |
| 16 | - * | |
| 17 | - * @param <T> | |
| 18 | - * @param <ID> | |
| 19 | - */ | |
| 20 | -public interface BaseService<T, ID extends Serializable> { | |
| 21 | - /** | |
| 22 | - * 根据主键获取单个对象 | |
| 23 | - * @param id | |
| 24 | - * @return | |
| 25 | - */ | |
| 26 | - T findById(ID id); | |
| 27 | - | |
| 28 | - /** | |
| 29 | - * 保存 | |
| 30 | - * @param t | |
| 31 | - * @return | |
| 32 | - */ | |
| 33 | - Map<String, Object> save(T t); | |
| 34 | - | |
| 35 | - /** | |
| 36 | - * | |
| 37 | - * @Title: list | |
| 38 | - * @Description: TODO(多条件分页查询) | |
| 39 | - * @param @param map 查询条件 | |
| 40 | - * @param @param pageable 分页对象 | |
| 41 | - * @throws | |
| 42 | - */ | |
| 43 | - Page<T> list(Map<String, Object> map, Pageable pageable); | |
| 44 | - | |
| 45 | - /** | |
| 46 | - * | |
| 47 | - * @Title: list | |
| 48 | - * @Description: TODO(多条件查询) | |
| 49 | - * @throws | |
| 50 | - */ | |
| 51 | - Iterable<T> list(Map<String, Object> map); | |
| 52 | - | |
| 53 | - /** | |
| 54 | - * 获取所有 | |
| 55 | - * @return | |
| 56 | - */ | |
| 57 | - Iterable<T> findAll(); | |
| 58 | - | |
| 59 | - /** | |
| 60 | - * | |
| 61 | - * @Title: deleteById | |
| 62 | - * @Description: TODO(根据主键删除对象) | |
| 63 | - * @param @param id | |
| 64 | - * @throws | |
| 65 | - */ | |
| 66 | - Map<String, Object> delete(ID id); | |
| 67 | - | |
| 68 | - /** | |
| 69 | - * 后端验证查询数据是否重复。 | |
| 70 | - * @param params 查询条件 | |
| 71 | - * @return {status:状态编码,msg:错误描述},状态编码 @see com.bsth.common.ResponseCode | |
| 72 | - */ | |
| 73 | - Map<String, Object> validateEquale(Map<String, Object> params); | |
| 74 | - | |
| 75 | - /** | |
| 76 | - * 批量保存。 | |
| 77 | - * @param entities 实体列表 | |
| 78 | - * @return 保存后的entities | |
| 79 | - */ | |
| 80 | - <S extends T> Collection<S> bulkSave(Collection<S> entities); | |
| 81 | -} | |
| 1 | +package com.bsth.service; | |
| 2 | + | |
| 3 | +import org.springframework.data.domain.Page; | |
| 4 | +import org.springframework.data.domain.Pageable; | |
| 5 | +import org.springframework.data.domain.Sort; | |
| 6 | + | |
| 7 | +import java.io.Serializable; | |
| 8 | +import java.util.Collection; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * | |
| 14 | + * @ClassName: BaseService | |
| 15 | + * @Description: TODO(基础的Service接口) | |
| 16 | + * @author PanZhao | |
| 17 | + * @date 2016年3月17日 下午12:48:43 | |
| 18 | + * | |
| 19 | + * @param <T> | |
| 20 | + * @param <ID> | |
| 21 | + */ | |
| 22 | +public interface BaseService<T, ID extends Serializable> { | |
| 23 | + /** | |
| 24 | + * 根据主键获取单个对象 | |
| 25 | + * @param id | |
| 26 | + * @return | |
| 27 | + */ | |
| 28 | + T findById(ID id); | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 保存 | |
| 32 | + * @param t | |
| 33 | + * @return | |
| 34 | + */ | |
| 35 | + Map<String, Object> save(T t); | |
| 36 | + | |
| 37 | + /** | |
| 38 | + * | |
| 39 | + * @Title: list | |
| 40 | + * @Description: TODO(多条件分页查询) | |
| 41 | + * @param @param map 查询条件 | |
| 42 | + * @param @param pageable 分页对象 | |
| 43 | + * @throws | |
| 44 | + */ | |
| 45 | + Page<T> list(Map<String, Object> map, Pageable pageable); | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * | |
| 49 | + * @Title: list | |
| 50 | + * @Description: TODO(多条件查询) | |
| 51 | + * @throws | |
| 52 | + */ | |
| 53 | + Iterable<T> list(Map<String, Object> map); | |
| 54 | + | |
| 55 | + /** | |
| 56 | + * 根据筛选和排序条件获取所有数据 | |
| 57 | + * @param map | |
| 58 | + * @param sort | |
| 59 | + * @return | |
| 60 | + */ | |
| 61 | + List<T> findAll(Map<String, Object> map, Sort sort); | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * 获取所有 | |
| 65 | + * @return | |
| 66 | + */ | |
| 67 | + Iterable<T> findAll(); | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * | |
| 71 | + * @Title: deleteById | |
| 72 | + * @Description: TODO(根据主键删除对象) | |
| 73 | + * @param @param id | |
| 74 | + * @throws | |
| 75 | + */ | |
| 76 | + Map<String, Object> delete(ID id); | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * 后端验证查询数据是否重复。 | |
| 80 | + * @param params 查询条件 | |
| 81 | + * @return {status:状态编码,msg:错误描述},状态编码 @see com.bsth.common.ResponseCode | |
| 82 | + */ | |
| 83 | + Map<String, Object> validateEquale(Map<String, Object> params); | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 批量保存。 | |
| 87 | + * @param entities 实体列表 | |
| 88 | + * @return 保存后的entities | |
| 89 | + */ | |
| 90 | + <S extends T> Collection<S> bulkSave(Collection<S> entities); | |
| 91 | +} | ... | ... |
src/main/java/com/bsth/service/LineService.java
| 1 | -package com.bsth.service; | |
| 2 | - | |
| 3 | -import com.bsth.entity.Line; | |
| 4 | - | |
| 5 | -import java.util.Map; | |
| 6 | - | |
| 7 | -/** | |
| 8 | - * | |
| 9 | - * @Interface: LineService(线路service业务层实现接口) | |
| 10 | - * | |
| 11 | - * @extends : BaseService | |
| 12 | - * | |
| 13 | - * @Description: TODO(线路service业务层实现接口) | |
| 14 | - * | |
| 15 | - * @Author bsth@lq | |
| 16 | - * | |
| 17 | - * @Date 2016年4月28日 上午9:21:17 | |
| 18 | - * | |
| 19 | - * @Version 公交调度系统BS版 0.1 | |
| 20 | - * | |
| 21 | - */ | |
| 22 | -public interface LineService extends BaseService<Line, Integer> { | |
| 23 | - | |
| 24 | - /** | |
| 25 | - * 获取线路编码 | |
| 26 | - * | |
| 27 | - * @return long <lineCode:线路编码> | |
| 28 | - */ | |
| 29 | - long selectMaxIdToLineCode(); | |
| 30 | - | |
| 31 | - Line findByLineCode(String lineCode); | |
| 32 | - | |
| 33 | - Line findById(Integer id); | |
| 34 | - | |
| 35 | - String lineCodeVerification(String lineCode); | |
| 36 | - | |
| 37 | - Map<String, Object> update(Line l); | |
| 38 | - | |
| 39 | - Map<String,Object> remove(Integer id); | |
| 40 | - | |
| 41 | - Map<String, Boolean> lineNature(); | |
| 42 | - | |
| 43 | - Map<String,Object> getLineMatchStationIsUpdate(Integer id); | |
| 44 | -} | |
| 1 | +package com.bsth.service; | |
| 2 | + | |
| 3 | +import com.bsth.entity.Line; | |
| 4 | + | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * | |
| 9 | + * @Interface: LineService(线路service业务层实现接口) | |
| 10 | + * | |
| 11 | + * @extends : BaseService | |
| 12 | + * | |
| 13 | + * @Description: TODO(线路service业务层实现接口) | |
| 14 | + * | |
| 15 | + * @Author bsth@lq | |
| 16 | + * | |
| 17 | + * @Date 2016年4月28日 上午9:21:17 | |
| 18 | + * | |
| 19 | + * @Version 公交调度系统BS版 0.1 | |
| 20 | + * | |
| 21 | + */ | |
| 22 | +public interface LineService extends BaseService<Line, Integer> { | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 获取线路编码 | |
| 26 | + * | |
| 27 | + * @return long <lineCode:线路编码> | |
| 28 | + */ | |
| 29 | + long selectMaxIdToLineCode(); | |
| 30 | + | |
| 31 | + Line findByLineCode(String lineCode); | |
| 32 | + | |
| 33 | + Line findById(Integer id); | |
| 34 | + | |
| 35 | + String lineCodeVerification(String lineCode); | |
| 36 | + | |
| 37 | + Map<String, Object> update(Line l); | |
| 38 | + | |
| 39 | + Map<String,Object> remove(Integer id); | |
| 40 | + | |
| 41 | + Map<String, Boolean> lineNature(); | |
| 42 | +} | ... | ... |
src/main/java/com/bsth/service/LsSectionRouteService.java
| ... | ... | @@ -3,6 +3,7 @@ package com.bsth.service; |
| 3 | 3 | import com.bsth.entity.LsSectionRoute; |
| 4 | 4 | |
| 5 | 5 | import java.util.List; |
| 6 | +import java.util.Map; | |
| 6 | 7 | |
| 7 | 8 | /** |
| 8 | 9 | * @author Hill |
| ... | ... | @@ -14,4 +15,26 @@ public interface LsSectionRouteService extends BaseService<LsSectionRoute, Integ |
| 14 | 15 | * @param ids |
| 15 | 16 | */ |
| 16 | 17 | void batchDestroy(List<Integer> ids); |
| 18 | + | |
| 19 | + /** | |
| 20 | + * 引用另一上下行路段 | |
| 21 | + * @param lineId | |
| 22 | + * @param version | |
| 23 | + * @param direction | |
| 24 | + * @param otherDirection | |
| 25 | + * @return | |
| 26 | + */ | |
| 27 | + Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection); | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 添加路段路由 | |
| 31 | + * @param sectionRoute | |
| 32 | + */ | |
| 33 | + void add(LsSectionRoute sectionRoute); | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 修改路段路由 | |
| 37 | + * @param sectionRoute | |
| 38 | + */ | |
| 39 | + void modify(LsSectionRoute sectionRoute); | |
| 17 | 40 | } | ... | ... |
src/main/java/com/bsth/service/LsStationRouteService.java
| 1 | 1 | package com.bsth.service; |
| 2 | 2 | |
| 3 | +import com.bsth.entity.LsSectionRoute; | |
| 3 | 4 | import com.bsth.entity.LsStationRoute; |
| 4 | 5 | |
| 5 | 6 | import java.util.List; |
| ... | ... | @@ -18,12 +19,31 @@ public interface LsStationRouteService extends BaseService<LsStationRoute, Integ |
| 18 | 19 | Iterable<LsStationRoute> findAllByParams(Map<String, Object> map); |
| 19 | 20 | |
| 20 | 21 | /** |
| 22 | + * 获取当前站点以及下一站点路由 | |
| 23 | + * @param id | |
| 24 | + * @return | |
| 25 | + */ | |
| 26 | + List<LsStationRoute> findCurrentAndNext(Integer id); | |
| 27 | + | |
| 28 | + /** | |
| 21 | 29 | * 批量撤销站点路由 |
| 22 | 30 | * @param ids |
| 23 | 31 | */ |
| 24 | 32 | void batchDestroy(List<Integer> ids); |
| 25 | 33 | |
| 26 | 34 | /** |
| 35 | + * 保存线路某个版本下单行的站点和路段路由 | |
| 36 | + * 常规使用在根据百度地图生成数据或者模板导入的批量保存 | |
| 37 | + * @param lineId | |
| 38 | + * @param versions | |
| 39 | + * @param directions | |
| 40 | + * @param stationRoutes | |
| 41 | + * @param sectionRoutes | |
| 42 | + * @return | |
| 43 | + */ | |
| 44 | + Map<String, Object> addRoutes(Integer lineId, Integer versions, Integer directions, List<LsStationRoute> stationRoutes, List<LsSectionRoute> sectionRoutes); | |
| 45 | + | |
| 46 | + /** | |
| 27 | 47 | * 添加站点路由 |
| 28 | 48 | * @param stationRoute |
| 29 | 49 | */ |
| ... | ... | @@ -34,4 +54,29 @@ public interface LsStationRouteService extends BaseService<LsStationRoute, Integ |
| 34 | 54 | * @param stationRoute |
| 35 | 55 | */ |
| 36 | 56 | Map<String, Object> modify(LsStationRoute stationRoute); |
| 57 | + | |
| 58 | + /** | |
| 59 | + * 交换指定版本的站点、路段路由上下行 | |
| 60 | + * 上行的路由换到下行 下行的路由换到上行 | |
| 61 | + * @param lineId | |
| 62 | + * @param version | |
| 63 | + * @return | |
| 64 | + */ | |
| 65 | + Map<String, Object> exchangeDirection(int lineId, int version); | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 调整站间距 | |
| 69 | + * @param ids | |
| 70 | + * @param distances | |
| 71 | + * @return | |
| 72 | + */ | |
| 73 | + Map<String, Object> modifyDistance(List<Integer> ids, List<Double> distances); | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * 单环线将首末站路由指向同一个站点 | |
| 77 | + * 双环线将四个首末站路由指向同一个站点 | |
| 78 | + * @param lineId | |
| 79 | + * @return | |
| 80 | + */ | |
| 81 | + Map<String, Object> circularRouteHandle(Integer lineId, Integer version); | |
| 37 | 82 | } | ... | ... |
src/main/java/com/bsth/service/RoadSpeedService.java deleted
100644 → 0
| 1 | -package com.bsth.service; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import com.bsth.entity.RoadSpeed; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * | |
| 10 | - * @Interface: RoadSpeedService(路段限速service业务层实现接口) | |
| 11 | - * | |
| 12 | - * @extends : BaseService | |
| 13 | - * | |
| 14 | - * @Description: TODO(路段限速service业务层实现接口) | |
| 15 | - * | |
| 16 | - * @Author bsth@lq | |
| 17 | - * | |
| 18 | - * @Version 公交调度系统BS版 0.1 | |
| 19 | - * | |
| 20 | - */ | |
| 21 | -public interface RoadSpeedService extends BaseService<RoadSpeed, Integer> { | |
| 22 | - | |
| 23 | - Map<String, Object> update(Map<String, Object> map); | |
| 24 | - | |
| 25 | - Map<String, Object> roadSpeedSave(Map<String, Object> map); | |
| 26 | - | |
| 27 | - RoadSpeed findId(Integer id); | |
| 28 | - | |
| 29 | - List<RoadSpeed> allRoadSpeed(); | |
| 30 | -} |
src/main/java/com/bsth/service/SectionRouteService.java
| ... | ... | @@ -33,24 +33,6 @@ public interface SectionRouteService extends BaseService<SectionRoute, Integer> |
| 33 | 33 | List<Map<String, Object>> getSectionRoute(Map<String, Object> map); |
| 34 | 34 | |
| 35 | 35 | /** |
| 36 | - * @Description : TODO(根据路段路由Id批量撤销路段) | |
| 37 | - * | |
| 38 | - * @param map <id:路段路由ID> | |
| 39 | - * | |
| 40 | - * @return List<Map<String, Object>> | |
| 41 | - */ | |
| 42 | - Map<String, Object> updateSectionRouteInfoFormId(Map<String, Object> map); | |
| 43 | - | |
| 44 | - /** | |
| 45 | - * @Description : TODO(根据路段路由Id查询详情) | |
| 46 | - * | |
| 47 | - * @param map <id:路段路由ID> | |
| 48 | - * | |
| 49 | - * @return List<Map<String, Object>> | |
| 50 | - */ | |
| 51 | - List<Map<String, Object>> findSectionRouteInfoFormId(Map<String, Object> map); | |
| 52 | - | |
| 53 | - /** | |
| 54 | 36 | * @Description :TODO(查询线路某方向下的上一个路段序号) |
| 55 | 37 | * |
| 56 | 38 | * @param map <lineId:线路ID; direction:方向;sectionRouteCode:路段编码> |
| ... | ... | @@ -58,14 +40,4 @@ public interface SectionRouteService extends BaseService<SectionRoute, Integer> |
| 58 | 40 | * @return List<Map<String, Object>> |
| 59 | 41 | */ |
| 60 | 42 | List<Map<String, Object>> findUpSectionRouteCode(Map<String, Object> map); |
| 61 | - | |
| 62 | - Map<String, Object> quoteSection(Map<String, Object> map); | |
| 63 | - | |
| 64 | - void batchUpdate(Integer lineId, String lineCode); | |
| 65 | - | |
| 66 | - Map<String,Object> destroy(Integer id); | |
| 67 | - | |
| 68 | - Map<String, Object> destroyHistory(Integer id); | |
| 69 | - | |
| 70 | - Map pageLs(Map<String, Object> map); | |
| 71 | 43 | } | ... | ... |
src/main/java/com/bsth/service/SectionService.java
| 1 | 1 | package com.bsth.service; |
| 2 | 2 | |
| 3 | +import java.util.List; | |
| 3 | 4 | import java.util.Map; |
| 4 | 5 | |
| 5 | 6 | import com.bsth.entity.Section; |
| ... | ... | @@ -20,17 +21,25 @@ import com.bsth.entity.Section; |
| 20 | 21 | * |
| 21 | 22 | */ |
| 22 | 23 | public interface SectionService extends BaseService<Section, Integer> { |
| 23 | - | |
| 24 | + | |
| 25 | + Map<String,Object> doubleName(Map<String, Object> map); | |
| 26 | + | |
| 24 | 27 | /** |
| 25 | - * @Description :TODO(编辑线路走向) | |
| 26 | - * | |
| 27 | - * @param map <sectionId:路段ID; sectionJSON:路段信息> | |
| 28 | - * | |
| 29 | - * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 28 | + * 新增路段信息 | |
| 29 | + * @param section | |
| 30 | 30 | */ |
| 31 | - Map<String, Object> sectionUpdate(Map<String, Object> map); | |
| 32 | - | |
| 33 | - Map<String, Object> sectionSave(Map<String, Object> map); | |
| 31 | + void add(Section section); | |
| 34 | 32 | |
| 35 | - Map<String,Object> doubleName(Map<String, Object> map); | |
| 33 | + /** | |
| 34 | + * 修改路段信息 | |
| 35 | + * @param section | |
| 36 | + */ | |
| 37 | + void modify(Section section); | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 根据路段名模糊检索路段信息 | |
| 41 | + * @param sectionName | |
| 42 | + * @return | |
| 43 | + */ | |
| 44 | + List<Section> findSectionByName(String sectionName); | |
| 36 | 45 | } | ... | ... |
src/main/java/com/bsth/service/SectionSpeedService.java deleted
100644 → 0
| 1 | -package com.bsth.service; | |
| 2 | - | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import com.bsth.entity.SectionSpeed; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * Created by xu on 16/5/31. | |
| 10 | - */ | |
| 11 | -public interface SectionSpeedService extends BaseService<SectionSpeed, Integer> { | |
| 12 | - | |
| 13 | - /** @description TODO(新增路段限速) @return map ({status:SUCCESS}成功 或者 {status:ERROR}失败) @param map (路段限速信息)*/ | |
| 14 | - Map<String, Object> add(Map<String, Object> map); | |
| 15 | - | |
| 16 | - /** @description TODO(修改路段) @return map ({status:SUCCESS}成功 或者 {status:ERROR}失败) @param map (路段限速信息)*/ | |
| 17 | - Map<String, Object> roadUpd(Map<String, Object> map); | |
| 18 | - | |
| 19 | - List<Map<String, Object>> getSectionSpeedInfo(Map<String, Object> map); | |
| 20 | - | |
| 21 | - /** 解析路段 */ | |
| 22 | - List<Map<String, Object>> analyticSection(Map<String,Object> map); | |
| 23 | - | |
| 24 | -} |
src/main/java/com/bsth/service/StationRouteService.java
| ... | ... | @@ -24,19 +24,13 @@ import java.util.Map; |
| 24 | 24 | */ |
| 25 | 25 | public interface StationRouteService extends BaseService<StationRoute, Integer> { |
| 26 | 26 | |
| 27 | - /** | |
| 28 | - * 历史查询。 | |
| 29 | - * @param map | |
| 30 | - * @return | |
| 31 | - */ | |
| 32 | - Iterable<LsStationRoute> list_ls(Map<String, Object> map); | |
| 33 | - | |
| 34 | 27 | /** |
| 35 | 28 | * |
| 36 | 29 | * @Title: list |
| 37 | 30 | * @Description: TODO(多条件查询) |
| 38 | 31 | * @throws |
| 39 | 32 | */ |
| 33 | + @Override | |
| 40 | 34 | Iterable<StationRoute> list(Map<String, Object> map); |
| 41 | 35 | |
| 42 | 36 | /** |
| ... | ... | @@ -46,28 +40,19 @@ public interface StationRouteService extends BaseService<StationRoute, Integer> |
| 46 | 40 | * |
| 47 | 41 | * @return List<Map<String, Object>> |
| 48 | 42 | */ |
| 49 | - List<Map<String, Object>> findPoints(Map<String, Object> map); | |
| 43 | + Map<String, Object> findPoints(Map<String, Object> map); | |
| 50 | 44 | |
| 51 | 45 | Map<String, Object> systemQuote(Map<String, Object> map); |
| 52 | - | |
| 46 | + | |
| 53 | 47 | /** |
| 54 | 48 | * @Description :TODO(查询线路某方向下的站点序号与类型) |
| 55 | - * | |
| 49 | + * | |
| 56 | 50 | * @param map <lineId:线路ID; direction:方向;stationRouteCode:站点编码> |
| 57 | - * | |
| 58 | - * @return List<Map<String, Object>> | |
| 51 | + * | |
| 52 | + * @return List<Map<String, Object>> | |
| 59 | 53 | */ |
| 60 | 54 | List<Map<String, Object>> findUpStationRouteCode(Map<String, Object> map); |
| 61 | 55 | |
| 62 | - /** | |
| 63 | - * @Description :TODO(查询下一个站点) | |
| 64 | - * | |
| 65 | - * @param map <站点路由id; direction:方向;stationRouteCode:站点编码> | |
| 66 | - * | |
| 67 | - * @return List<Map<String, Object>> | |
| 68 | - */ | |
| 69 | - List<Map<String, Object>> findDownStationRoute(Map<String, Object> map); | |
| 70 | - | |
| 71 | 56 | /** |
| 72 | 57 | * @Description :TODO(查询线路某方向下所有站点的中心百度坐标) |
| 73 | 58 | * |
| ... | ... | @@ -103,38 +88,12 @@ public interface StationRouteService extends BaseService<StationRoute, Integer> |
| 103 | 88 | * @return Map<String, Object> <SUCCESS ; ERROR ; NOTDATA> |
| 104 | 89 | */ |
| 105 | 90 | Map<String, Object> usingSingle(Map<String, Object> map); |
| 106 | - | |
| 107 | - | |
| 108 | - /** | |
| 109 | - * @Description : TODO(根据站点路由Id查询详情) | |
| 110 | - * | |
| 111 | - * @param map <id:站点路由ID> | |
| 112 | - * | |
| 113 | - * @return List<Map<String, Object>> | |
| 114 | - */ | |
| 115 | - List<Map<String, Object>> findStationRouteInfo(Map<String, Object> map); | |
| 116 | 91 | |
| 117 | 92 | Map<String, Object> findByMultiLine(String lineIds); |
| 118 | 93 | |
| 119 | - Map<String, Object> updSwitchDir(String lineIds,int stauts); | |
| 120 | - | |
| 121 | - Map<String, Object> upddis(Map<String, Object> map); | |
| 122 | - | |
| 123 | 94 | /** |
| 124 | 95 | * @param id |
| 125 | 96 | * @return |
| 126 | 97 | */ |
| 127 | 98 | Map<String, Object> getSectionRouteExport(Integer id, HttpServletResponse resp); |
| 128 | - | |
| 129 | - void batchUpdate(Integer lineId, String lineCode); | |
| 130 | - | |
| 131 | - Map<String, Object> findMatchStation(Map<String, Object> map); | |
| 132 | - | |
| 133 | - Map<String, Object> updIndustryCode(Map<String, Object> map); | |
| 134 | - | |
| 135 | - Map<String, Object> matchIndustryCode(Map<String, Object> map); | |
| 136 | - | |
| 137 | - Map<String, Object> matchNearbyStation(Map<String, Object> map); | |
| 138 | - | |
| 139 | - Map pageLs(Map<String, Object> map); | |
| 140 | 99 | } | ... | ... |
src/main/java/com/bsth/service/StationService.java
| ... | ... | @@ -23,35 +23,25 @@ import com.bsth.entity.Station; |
| 23 | 23 | * |
| 24 | 24 | */ |
| 25 | 25 | public interface StationService extends BaseService<Station, Integer> { |
| 26 | - | |
| 26 | + | |
| 27 | 27 | /** |
| 28 | - * @Description :TODO(系统规划保存数据) | |
| 29 | - * | |
| 30 | - * @param map <stationJSON:站点信息; sectionJSON:路段信息;dbType:坐标类型; destroy:是否撤销; directions:方向;lineId:线路ID; | |
| 31 | - * | |
| 32 | - * radius:圆半径;shapesType:图形类型;speedLimit:限速> | |
| 33 | - * | |
| 34 | - * @return Map<String, Object> <SUCCESS ; ERROR> | |
| 28 | + * 查询最大站点ID | |
| 29 | + * @Description :TODO(查询最大站点ID) | |
| 30 | + * @return int <站点id> | |
| 35 | 31 | */ |
| 36 | - Map<String, Object> systemSaveStations(Map<String, Object> map); | |
| 32 | + long findLatestStationId(); | |
| 37 | 33 | |
| 38 | 34 | /** |
| 39 | - * 保存线路某个版本下单行的站点和路段路由 | |
| 40 | - * 常规使用在根据百度地图生成数据或者模板导入的批量保存 | |
| 41 | - * @param lineId | |
| 42 | - * @param versions | |
| 43 | - * @param directions | |
| 44 | - * @param stationRoutes | |
| 45 | - * @param sectionRoutes | |
| 46 | - * @return | |
| 35 | + * 新增站点 | |
| 36 | + * @param station | |
| 47 | 37 | */ |
| 48 | - Map<String, Object> saveRoutes(Integer lineId, Integer versions, Integer directions, List<LsStationRoute> stationRoutes, List<LsSectionRoute> sectionRoutes); | |
| 38 | + void add(Station station); | |
| 49 | 39 | |
| 50 | 40 | /** |
| 51 | - * 更新站点、站点路由信息 | |
| 52 | - * @param stationRoute | |
| 41 | + * 更新站点信息 | |
| 42 | + * @param station | |
| 53 | 43 | */ |
| 54 | - void stationUpdate(LsStationRoute stationRoute); | |
| 44 | + void modify(Station station); | |
| 55 | 45 | |
| 56 | 46 | /** |
| 57 | 47 | * @Description :TODO(根据坐标点匹配数据库中的站点) |
| ... | ... | @@ -66,5 +56,5 @@ public interface StationService extends BaseService<Station, Integer> { |
| 66 | 56 | * @param stationName |
| 67 | 57 | * @return |
| 68 | 58 | */ |
| 69 | - List<Station> getStationByName(String stationName); | |
| 59 | + List<Station> findStationByName(String stationName); | |
| 70 | 60 | } | ... | ... |
src/main/java/com/bsth/service/gps/GpsServiceImpl.java
| ... | ... | @@ -619,9 +619,9 @@ public class GpsServiceImpl implements GpsService { |
| 619 | 619 | public Map<String, Object> findBuffAeraByCode(String lineCode, String code, String type) { |
| 620 | 620 | Object[][] obj = null; |
| 621 | 621 | if (type.equals("station")) |
| 622 | - obj = stationRepository.bufferAera(lineCode, code); | |
| 622 | + obj = stationRepository.findBufferArea(lineCode, code); | |
| 623 | 623 | else if (type.equals("park")) |
| 624 | - obj = carParkRepository.bufferAera(code); | |
| 624 | + obj = carParkRepository.findBufferArea(code); | |
| 625 | 625 | |
| 626 | 626 | Map<String, Object> rs = new HashMap<>(); |
| 627 | 627 | ... | ... |
src/main/java/com/bsth/service/impl/BaseServiceImpl.java
| ... | ... | @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Value; |
| 11 | 11 | import org.springframework.dao.DataIntegrityViolationException; |
| 12 | 12 | import org.springframework.data.domain.Page; |
| 13 | 13 | import org.springframework.data.domain.Pageable; |
| 14 | +import org.springframework.data.domain.Sort; | |
| 14 | 15 | |
| 15 | 16 | import javax.persistence.EntityManager; |
| 16 | 17 | import java.io.Serializable; |
| ... | ... | @@ -36,6 +37,11 @@ public class BaseServiceImpl<T, ID extends Serializable> implements BaseService< |
| 36 | 37 | public Iterable<T> list(Map<String, Object> map) { |
| 37 | 38 | return this.baseRepository.findAll(new CustomerSpecs<T>(map)); |
| 38 | 39 | } |
| 40 | + | |
| 41 | + @Override | |
| 42 | + public List<T> findAll(Map<String, Object> map, Sort sort) { | |
| 43 | + return this.baseRepository.findAll(new CustomerSpecs<>(map), sort); | |
| 44 | + } | |
| 39 | 45 | |
| 40 | 46 | @Override |
| 41 | 47 | public T findById(ID id) { | ... | ... |
src/main/java/com/bsth/service/impl/InoutCarparkServiceImpl.java
| ... | ... | @@ -435,7 +435,7 @@ public class InoutCarparkServiceImpl extends BaseServiceImpl<LsInoutSectionRoute |
| 435 | 435 | map.put("lineId", scheduleRealInfo.getXlBm()); |
| 436 | 436 | map.put("lineCode", scheduleRealInfo.getXlBm()); |
| 437 | 437 | map.put("sectionName", scheduleRealInfo.getQdzName() + "-" + scheduleRealInfo.getZdzName()); |
| 438 | - map.put("sectionCode", sectionRepository.sectionMaxId() + 1); | |
| 438 | + map.put("sectionCode", sectionRepository.findLatestSectionId() + 1); | |
| 439 | 439 | map.put("roadCoding", ""); |
| 440 | 440 | map.put("dbType", "b"); |
| 441 | 441 | map.put("sectionrouteCode", "1"); | ... | ... |
src/main/java/com/bsth/service/impl/LineServiceImpl.java
| ... | ... | @@ -2,22 +2,16 @@ package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.common.ResponseCode; |
| 4 | 4 | import com.bsth.entity.Line; |
| 5 | -import com.bsth.entity.StationMatchData; | |
| 6 | 5 | import com.bsth.repository.LineRepository; |
| 7 | 6 | import com.bsth.service.LineService; |
| 8 | -import com.bsth.util.db.DBUtils_station; | |
| 9 | -import org.apache.commons.lang3.StringUtils; | |
| 10 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 11 | 8 | import org.springframework.jdbc.core.JdbcTemplate; |
| 12 | 9 | import org.springframework.jdbc.core.RowMapper; |
| 13 | 10 | import org.springframework.stereotype.Service; |
| 14 | 11 | import org.springframework.transaction.annotation.Transactional; |
| 15 | 12 | |
| 16 | -import java.sql.Connection; | |
| 17 | -import java.sql.PreparedStatement; | |
| 18 | 13 | import java.sql.ResultSet; |
| 19 | 14 | import java.sql.SQLException; |
| 20 | -import java.util.ArrayList; | |
| 21 | 15 | import java.util.HashMap; |
| 22 | 16 | import java.util.List; |
| 23 | 17 | import java.util.Map; |
| ... | ... | @@ -162,37 +156,4 @@ public class LineServiceImpl extends BaseServiceImpl<Line, Integer> implements L |
| 162 | 156 | } |
| 163 | 157 | return map; |
| 164 | 158 | } |
| 165 | - | |
| 166 | - @Override | |
| 167 | - public Map<String, Object> getLineMatchStationIsUpdate(Integer id){ | |
| 168 | - Map<String, Object> map = new HashMap<>(); | |
| 169 | - Line l = repository.findById(id).get(); | |
| 170 | - Connection conn = null; | |
| 171 | - PreparedStatement ps = null; | |
| 172 | - ResultSet rs = null; | |
| 173 | - | |
| 174 | - List<StationMatchData> listMD = new ArrayList<>(); | |
| 175 | - String sql = "select `type` from roadline where RoadLine =\""+l.getName()+"\""; | |
| 176 | - if(!StringUtils.isEmpty(l.getShanghaiLinecode())){ | |
| 177 | - sql += " or LineStandardCode=\""+l.getShanghaiLinecode()+"\""; | |
| 178 | - } | |
| 179 | - try { | |
| 180 | - conn = DBUtils_station.getConnection(); | |
| 181 | - ps = conn.prepareStatement(sql); | |
| 182 | -// int stauts = ps.executeQuery().getInt(1); | |
| 183 | - String stauts = "0"; | |
| 184 | - rs = ps.executeQuery(); | |
| 185 | - while (rs.next()) { | |
| 186 | - stauts = rs.getString("type"); | |
| 187 | - } | |
| 188 | - map.put("status",ResponseCode.SUCCESS); | |
| 189 | - map.put("data",stauts); | |
| 190 | - }catch(Exception e){ | |
| 191 | - logger.error(e.toString(), e); | |
| 192 | - map.put("status",ResponseCode.ERROR); | |
| 193 | - }finally { | |
| 194 | - DBUtils_station.close(rs, ps, conn); | |
| 195 | - } | |
| 196 | - return map; | |
| 197 | - } | |
| 198 | 159 | } | ... | ... |
src/main/java/com/bsth/service/impl/LsSectionRouteServiceImpl.java
| 1 | 1 | package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | -import com.bsth.entity.LsSectionRoute; | |
| 4 | -import com.bsth.repository.LsSectionRouteRepository; | |
| 3 | +import com.bsth.entity.*; | |
| 4 | +import com.bsth.repository.*; | |
| 5 | 5 | import com.bsth.service.LsSectionRouteService; |
| 6 | +import com.bsth.util.CoordinateConverter; | |
| 7 | +import com.bsth.util.CustomBeanUtils; | |
| 8 | +import com.bsth.util.GeoConverter; | |
| 9 | +import org.geolatte.geom.Point; | |
| 10 | +import org.geolatte.geom.Polygon; | |
| 11 | +import org.geolatte.geom.codec.Wkt; | |
| 6 | 12 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 13 | import org.springframework.stereotype.Service; |
| 8 | 14 | import org.springframework.transaction.annotation.Transactional; |
| 9 | 15 | |
| 16 | +import java.util.HashMap; | |
| 10 | 17 | import java.util.List; |
| 18 | +import java.util.Map; | |
| 11 | 19 | |
| 12 | 20 | /** |
| 13 | 21 | * @author Hill |
| ... | ... | @@ -18,13 +26,97 @@ public class LsSectionRouteServiceImpl extends BaseServiceImpl<LsSectionRoute, I |
| 18 | 26 | @Autowired |
| 19 | 27 | private LsSectionRouteRepository lsSectionRouteRepository; |
| 20 | 28 | |
| 29 | + @Autowired | |
| 30 | + private SectionRouteRepository sectionRouteRepository; | |
| 31 | + | |
| 32 | + @Autowired | |
| 33 | + private LineVersionsRepository lineVersionsRepository; | |
| 34 | + | |
| 35 | + @Autowired | |
| 36 | + private LineRepository lineRepository; | |
| 37 | + | |
| 38 | + @Autowired | |
| 39 | + private SectionRepository sectionRepository; | |
| 40 | + | |
| 21 | 41 | /** |
| 22 | 42 | * 批量撤销路段路由 |
| 23 | 43 | * @param ids |
| 24 | 44 | */ |
| 25 | 45 | @Override |
| 26 | - @Transactional | |
| 46 | + @Transactional(rollbackFor = RuntimeException.class) | |
| 27 | 47 | public void batchDestroy(List<Integer> ids) { |
| 48 | + LsSectionRoute lsSectionRoute = lsSectionRouteRepository.findById(ids.get(0)).get(); | |
| 49 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(lsSectionRoute.getLine().getId()); | |
| 50 | + if (lsSectionRoute.getVersions() < currentVersion) { | |
| 51 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 52 | + } | |
| 28 | 53 | lsSectionRouteRepository.batchDestroy(ids); |
| 54 | + if (lsSectionRoute.getVersions().equals(currentVersion)) { | |
| 55 | + refreshCurrent(lsSectionRoute.getLine().getId(), currentVersion); | |
| 56 | + } | |
| 57 | + } | |
| 58 | + | |
| 59 | + @Override | |
| 60 | + @Transactional(rollbackFor = RuntimeException.class) | |
| 61 | + public Map<String, Object> quoteOtherSide(int lineId, int version, int direction, int otherDirection) { | |
| 62 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(lineId); | |
| 63 | + if (version < currentVersion) { | |
| 64 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 65 | + } | |
| 66 | + lsSectionRouteRepository.quoteOtherSide(lineId, version, direction, otherDirection); | |
| 67 | + if (Integer.valueOf(version).equals(currentVersion)) { | |
| 68 | + refreshCurrent(lineId, currentVersion); | |
| 69 | + } | |
| 70 | + | |
| 71 | + return new HashMap<>(0); | |
| 72 | + } | |
| 73 | + | |
| 74 | + @Transactional(rollbackFor = RuntimeException.class) | |
| 75 | + @Override | |
| 76 | + public void add(LsSectionRoute sectionRoute) { | |
| 77 | + Section section = sectionRoute.getSection(); | |
| 78 | + Line line = lineRepository.findById(sectionRoute.getLine().getId()).get(); | |
| 79 | + Integer version = lineVersionsRepository.findCurrentVersion(line.getId()); | |
| 80 | + boolean isPresent = sectionRepository.findById(section.getId()).isPresent(); | |
| 81 | + sectionRoute.setLineCode(line.getLineCode()); | |
| 82 | + if (sectionRoute.getVersions() < version) { | |
| 83 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 84 | + } | |
| 85 | + | |
| 86 | + // 路段坐标信息 | |
| 87 | + if (!isPresent) { | |
| 88 | + SectionServiceImpl.centerLine(section); | |
| 89 | + } | |
| 90 | + | |
| 91 | + lsSectionRouteRepository.updateSectiouRouteCode(sectionRoute); | |
| 92 | + if (!isPresent) { | |
| 93 | + sectionRepository.save(section); | |
| 94 | + } | |
| 95 | + lsSectionRouteRepository.save(sectionRoute); | |
| 96 | + if (sectionRoute.getVersions().equals(version)) { | |
| 97 | + refreshCurrent(line.getId(), version); | |
| 98 | + } | |
| 99 | + } | |
| 100 | + | |
| 101 | + @Transactional(rollbackFor = RuntimeException.class) | |
| 102 | + @Override | |
| 103 | + public void modify(LsSectionRoute sectionRoute) { | |
| 104 | + LsSectionRoute sectionRoute1 = lsSectionRouteRepository.findById(sectionRoute.getId()).get(); | |
| 105 | + Integer version = lineVersionsRepository.findCurrentVersion(sectionRoute1.getLine().getId()); | |
| 106 | + if (sectionRoute1.getVersions() < version) { | |
| 107 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 108 | + } | |
| 109 | + | |
| 110 | + lsSectionRouteRepository.updateSectiouRouteCode(sectionRoute); | |
| 111 | + CustomBeanUtils.copyPropertiesIgnoredNull(sectionRoute, sectionRoute1); | |
| 112 | + lsSectionRouteRepository.save(sectionRoute1); | |
| 113 | + if (sectionRoute.getVersions().equals(version)) { | |
| 114 | + refreshCurrent(sectionRoute1.getLine().getId(), version); | |
| 115 | + } | |
| 116 | + } | |
| 117 | + | |
| 118 | + protected void refreshCurrent(int lineId, int version) { | |
| 119 | + sectionRouteRepository.deleteByLineAndVersion(lineId, version); | |
| 120 | + sectionRouteRepository.updateFromHistory(lineId, version); | |
| 29 | 121 | } |
| 30 | 122 | } |
| 31 | 123 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/service/impl/LsStationRouteServiceImpl.java
| 1 | 1 | package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | -import com.bsth.entity.Line; | |
| 4 | -import com.bsth.entity.LsStationRoute; | |
| 5 | -import com.bsth.entity.Station; | |
| 3 | +import com.bsth.annotation.BusinessDescription; | |
| 4 | +import com.bsth.entity.*; | |
| 6 | 5 | import com.bsth.entity.search.CustomerSpecs; |
| 7 | 6 | import com.bsth.repository.*; |
| 8 | 7 | import com.bsth.service.LsStationRouteService; |
| 9 | 8 | import com.bsth.util.CoordinateConverter; |
| 10 | 9 | import com.bsth.util.CustomBeanUtils; |
| 11 | 10 | import com.bsth.util.GeoConverter; |
| 11 | +import org.geolatte.geom.LineString; | |
| 12 | 12 | import org.geolatte.geom.Point; |
| 13 | 13 | import org.geolatte.geom.Polygon; |
| 14 | 14 | import org.geolatte.geom.codec.Wkt; |
| 15 | 15 | import org.springframework.beans.factory.annotation.Autowired; |
| 16 | 16 | import org.springframework.data.domain.Sort; |
| 17 | +import org.springframework.jdbc.core.BatchPreparedStatementSetter; | |
| 18 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 17 | 19 | import org.springframework.stereotype.Service; |
| 18 | 20 | import org.springframework.transaction.annotation.Transactional; |
| 21 | +import org.springframework.util.StringUtils; | |
| 19 | 22 | |
| 20 | -import java.util.*; | |
| 23 | +import java.sql.PreparedStatement; | |
| 24 | +import java.sql.SQLException; | |
| 25 | +import java.util.ArrayList; | |
| 26 | +import java.util.HashMap; | |
| 27 | +import java.util.List; | |
| 28 | +import java.util.Map; | |
| 21 | 29 | |
| 22 | 30 | /** |
| 23 | 31 | * @author Hill |
| ... | ... | @@ -35,11 +43,23 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 35 | 43 | private StationRepository stationRepository; |
| 36 | 44 | |
| 37 | 45 | @Autowired |
| 46 | + private LsSectionRouteRepository lsSectionRouteRepository; | |
| 47 | + | |
| 48 | + @Autowired | |
| 49 | + private SectionRouteRepository sectionRouteRepository; | |
| 50 | + | |
| 51 | + @Autowired | |
| 52 | + private SectionRepository sectionRepository; | |
| 53 | + | |
| 54 | + @Autowired | |
| 38 | 55 | private LineRepository lineRepository; |
| 39 | 56 | |
| 40 | 57 | @Autowired |
| 41 | 58 | private LineVersionsRepository lineVersionsRepository; |
| 42 | 59 | |
| 60 | + @Autowired | |
| 61 | + private JdbcTemplate jdbcTemplate; | |
| 62 | + | |
| 43 | 63 | @Override |
| 44 | 64 | public Iterable<LsStationRoute> findAllByParams(Map<String, Object> map) { |
| 45 | 65 | List<Sort.Order> orders = new ArrayList<>(); |
| ... | ... | @@ -50,9 +70,37 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 50 | 70 | } |
| 51 | 71 | |
| 52 | 72 | /** |
| 73 | + * 获取当前站点以及下一站点路由 | |
| 74 | + * @param id | |
| 75 | + * @return | |
| 76 | + */ | |
| 77 | + @Override | |
| 78 | + public List<LsStationRoute> findCurrentAndNext(Integer id) { | |
| 79 | + if (id == null) { | |
| 80 | + throw new IllegalArgumentException("需正确传入站点路由ID参数"); | |
| 81 | + } | |
| 82 | + List<LsStationRoute> stationRoutes = new ArrayList<>(); | |
| 83 | + LsStationRoute stationRoute = lsStationRouteRepository.findById(id).get(); | |
| 84 | + Map<String, Object> params = new HashMap<>(); | |
| 85 | + params.put("line.id_eq", stationRoute.getLine().getId()); | |
| 86 | + params.put("versions_eq", stationRoute.getVersions()); | |
| 87 | + params.put("directions_eq", stationRoute.getDirections()); | |
| 88 | + params.put("destroy_eq", 0); | |
| 89 | + params.put("stationRouteCode_gt", stationRoute.getStationRouteCode()); | |
| 90 | + List<LsStationRoute> stationRoutes1 = lsStationRouteRepository.findAll(new CustomerSpecs<>(params), Sort.by(Sort.Order.asc("stationRouteCode"))); | |
| 91 | + stationRoutes.add(stationRoute); | |
| 92 | + if (stationRoutes1.size() > 0) { | |
| 93 | + stationRoutes.add(stationRoutes1.get(0)); | |
| 94 | + } | |
| 95 | + | |
| 96 | + return stationRoutes; | |
| 97 | + } | |
| 98 | + | |
| 99 | + /** | |
| 53 | 100 | * 批量撤销站点路由 |
| 54 | 101 | * @param ids |
| 55 | 102 | */ |
| 103 | + @BusinessDescription(value = "批量撤销站点路由") | |
| 56 | 104 | @Transactional(rollbackFor = RuntimeException.class) |
| 57 | 105 | @Override |
| 58 | 106 | public void batchDestroy(List<Integer> ids) { |
| ... | ... | @@ -60,49 +108,101 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 60 | 108 | Integer id = ids.get(0); |
| 61 | 109 | LsStationRoute stationRoute = lsStationRouteRepository.findById(id).get(); |
| 62 | 110 | Integer lineId = stationRoute.getLine().getId(); |
| 63 | - Integer versions = lineVersionsRepository.findCurrentVersion(lineId); | |
| 64 | - if (stationRoute.getVersions() < versions) { | |
| 111 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(lineId); | |
| 112 | + if (stationRoute.getVersions() < currentVersion) { | |
| 65 | 113 | throw new IllegalArgumentException("历史版本不可变更"); |
| 66 | 114 | } |
| 67 | 115 | |
| 68 | 116 | lsStationRouteRepository.batchDestroy(ids); |
| 69 | 117 | remark(stationRoute); |
| 70 | - if (stationRoute.getVersions().equals(versions)) { | |
| 71 | - stationRouteRepository.deleteByLineAndVersion(lineId, versions); | |
| 72 | - stationRouteRepository.updateFromHistory(lineId, versions); | |
| 118 | + if (stationRoute.getVersions().equals(currentVersion)) { | |
| 119 | + refreshCurrent(lineId, currentVersion); | |
| 73 | 120 | } |
| 74 | 121 | } |
| 75 | 122 | } |
| 76 | 123 | |
| 77 | 124 | @Transactional |
| 78 | 125 | @Override |
| 126 | + public Map<String, Object> addRoutes(Integer lineId, Integer versions, Integer directions, List<LsStationRoute> stationRoutes, List<LsSectionRoute> sectionRoutes) { | |
| 127 | + Map<String, Object> result = new HashMap<>(); | |
| 128 | + Line line = lineRepository.findById(lineId).get(); | |
| 129 | + Integer version = lineVersionsRepository.findCurrentVersion(lineId); | |
| 130 | + if (line == null) { | |
| 131 | + throw new RuntimeException(String.format("未找到ID为%d的线路信息", lineId)); | |
| 132 | + } | |
| 133 | + stationRoutesHandle(line, versions, directions, stationRoutes); | |
| 134 | + List<Section> sections = sectionRoutesHandle(line, versions, directions, sectionRoutes); | |
| 135 | + | |
| 136 | + //stationRepository.saveAll(stations); | |
| 137 | + sectionRepository.saveAll(sections); | |
| 138 | + lsStationRouteRepository.saveAll(stationRoutes); | |
| 139 | + lsSectionRouteRepository.saveAll(sectionRoutes); | |
| 140 | + if (versions.equals(version)) { | |
| 141 | + refreshCurrent(lineId, version); | |
| 142 | + } | |
| 143 | + | |
| 144 | + return result; | |
| 145 | + } | |
| 146 | + | |
| 147 | + private void stationRoutesHandle(Line line, Integer versions, Integer directions, List<LsStationRoute> stationRoutes) { | |
| 148 | + int count = 0; | |
| 149 | + for (int len = stationRoutes.size();count < len;) { | |
| 150 | + LsStationRoute stationRoute = stationRoutes.get(count); | |
| 151 | + stationRoute.setStationMark(count == 0 ? "B" : count == len - 1 ? "E" : "Z"); | |
| 152 | + count++; | |
| 153 | + stationRoute.setLine(line); | |
| 154 | + stationRoute.setVersions(versions); | |
| 155 | + stationRoute.setDirections(directions); | |
| 156 | + stationRoute.setLineCode(line.getLineCode()); | |
| 157 | + stationRoute.setStationRouteCode(100 * count); | |
| 158 | + stationRoute.setStationCode(stationRoute.getStation().getStationCode()); | |
| 159 | + } | |
| 160 | + } | |
| 161 | + | |
| 162 | + private List<Section> sectionRoutesHandle(Line line, Integer versions, Integer directions, List<LsSectionRoute> sectionRoutes) { | |
| 163 | + List<Section> sections = new ArrayList<>(); | |
| 164 | + int currentId = sectionRepository.findLatestSectionId(), count = 0; | |
| 165 | + for (int len = sectionRoutes.size();count < len;) { | |
| 166 | + LsSectionRoute sectionRoute = sectionRoutes.get(count++); | |
| 167 | + sectionRoute.setLine(line); | |
| 168 | + sectionRoute.setVersions(versions); | |
| 169 | + sectionRoute.setDirections(directions); | |
| 170 | + sectionRoute.setLineCode(line.getLineCode()); | |
| 171 | + sectionRoute.setSectionrouteCode(100 * count); | |
| 172 | + String wkt = sectionRoute.getSection().getBsectionVectorWkt(); | |
| 173 | + Section section = sectionRoute.getSection(); | |
| 174 | + section.setBsectionVector((LineString) Wkt.fromWkt(wkt)); | |
| 175 | + section.setGsectionVector(GeoConverter.lineStringBd2wgs(wkt)); | |
| 176 | + section.setId(currentId + count); | |
| 177 | + section.setSectionCode(section.getId().toString()); | |
| 178 | + sectionRoute.setSectionCode(section.getSectionCode()); | |
| 179 | + sections.add(section); | |
| 180 | + } | |
| 181 | + | |
| 182 | + return sections; | |
| 183 | + } | |
| 184 | + | |
| 185 | + @BusinessDescription(value = "添加站点路由") | |
| 186 | + @Transactional | |
| 187 | + @Override | |
| 79 | 188 | public Map<String, Object> add(LsStationRoute stationRoute) { |
| 80 | 189 | Station station = stationRoute.getStation(); |
| 81 | 190 | Line line = lineRepository.findById(stationRoute.getLine().getId()).get(); |
| 82 | - Integer versions = lineVersionsRepository.findCurrentVersion(line.getId()); | |
| 191 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(line.getId()); | |
| 83 | 192 | boolean isPresent = stationRepository.findById(station.getId()).isPresent(); |
| 84 | 193 | stationRoute.setLineCode(line.getLineCode()); |
| 85 | - if (stationRoute.getVersions() < versions) { | |
| 194 | + if (stationRoute.getVersions() < currentVersion) { | |
| 86 | 195 | throw new IllegalArgumentException("历史版本不可变更"); |
| 87 | 196 | } |
| 88 | 197 | |
| 89 | 198 | // 中心点坐标信息 |
| 90 | 199 | if (!isPresent) { |
| 91 | - String centerPoint = station.getCenterPointWkt(); | |
| 92 | - CoordinateConverter.Location bd = CoordinateConverter.LocationMake(centerPoint); | |
| 93 | - CoordinateConverter.Location wgs = CoordinateConverter.transformFromBDToWGS(bd); | |
| 94 | - Point baiduPoint = (Point) Wkt.fromWkt(bd.toWkt()); | |
| 95 | - Point wgsPoint = (Point) Wkt.fromWkt(wgs.toWkt()); | |
| 96 | - station.setCenterPoint(baiduPoint); | |
| 97 | - station.setCenterPointWgs(wgsPoint); | |
| 200 | + centerPoint(station); | |
| 98 | 201 | } |
| 99 | 202 | |
| 100 | 203 | // 多边形缓冲区 |
| 101 | 204 | if ("d".equals(stationRoute.getShapedType())) { |
| 102 | - String wkt = stationRoute.getBufferPolygonWkt(); | |
| 103 | - | |
| 104 | - stationRoute.setBufferPolygon((Polygon) Wkt.fromWkt(wkt)); | |
| 105 | - stationRoute.setBufferPolygonWgs(GeoConverter.polygonBd2wgs(wkt)); | |
| 205 | + bufferPolygon(stationRoute); | |
| 106 | 206 | } |
| 107 | 207 | |
| 108 | 208 | lsStationRouteRepository.updateStatiouRouteCode(stationRoute); |
| ... | ... | @@ -111,9 +211,8 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 111 | 211 | } |
| 112 | 212 | lsStationRouteRepository.save(stationRoute); |
| 113 | 213 | remark(stationRoute); |
| 114 | - if (stationRoute.getVersions().equals(versions)) { | |
| 115 | - stationRouteRepository.deleteByLineAndVersion(line.getId(), versions); | |
| 116 | - stationRouteRepository.updateFromHistory(line.getId(), versions); | |
| 214 | + if (stationRoute.getVersions().equals(currentVersion)) { | |
| 215 | + refreshCurrent(line.getId(), currentVersion); | |
| 117 | 216 | } |
| 118 | 217 | |
| 119 | 218 | return new HashMap<>(); |
| ... | ... | @@ -123,34 +222,126 @@ public class LsStationRouteServiceImpl extends BaseServiceImpl<LsStationRoute, I |
| 123 | 222 | @Override |
| 124 | 223 | public Map<String, Object> modify(LsStationRoute stationRoute) { |
| 125 | 224 | LsStationRoute stationRoute1 = lsStationRouteRepository.findById(stationRoute.getId()).get(); |
| 126 | - Integer versions = lineVersionsRepository.findCurrentVersion(stationRoute1.getLine().getId()); | |
| 127 | - if (stationRoute1.getVersions() < versions) { | |
| 225 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(stationRoute1.getLine().getId()); | |
| 226 | + if (stationRoute1.getVersions() < currentVersion) { | |
| 128 | 227 | throw new IllegalArgumentException("历史版本不可变更"); |
| 129 | 228 | } |
| 130 | 229 | |
| 131 | 230 | // 多边形缓冲区 |
| 132 | 231 | if ("d".equals(stationRoute.getShapedType())) { |
| 133 | - String wkt = stationRoute.getBufferPolygonWkt(); | |
| 134 | - | |
| 135 | - stationRoute.setBufferPolygon((Polygon) Wkt.fromWkt(wkt)); | |
| 136 | - stationRoute.setBufferPolygonWgs(GeoConverter.polygonBd2wgs(wkt)); | |
| 232 | + bufferPolygon(stationRoute); | |
| 137 | 233 | } |
| 138 | 234 | |
| 139 | 235 | lsStationRouteRepository.updateStatiouRouteCode(stationRoute); |
| 140 | 236 | CustomBeanUtils.copyPropertiesIgnoredNull(stationRoute, stationRoute1); |
| 141 | 237 | lsStationRouteRepository.save(stationRoute1); |
| 142 | 238 | remark(stationRoute1); |
| 143 | - if (stationRoute.getVersions().equals(versions)) { | |
| 144 | - stationRouteRepository.deleteByLineAndVersion(stationRoute1.getLine().getId(), versions); | |
| 145 | - stationRouteRepository.updateFromHistory(stationRoute1.getLine().getId(), versions); | |
| 239 | + if (stationRoute.getVersions().equals(currentVersion)) { | |
| 240 | + refreshCurrent(stationRoute1.getLine().getId(), currentVersion); | |
| 146 | 241 | } |
| 147 | 242 | |
| 148 | 243 | return new HashMap<>(); |
| 149 | 244 | } |
| 150 | 245 | |
| 151 | - public void remark(LsStationRoute stationRoute) { | |
| 246 | + @Transactional | |
| 247 | + @Override | |
| 248 | + public Map<String, Object> exchangeDirection(int lineId, int version) { | |
| 249 | + lsStationRouteRepository.exchangeDirection(lineId, version); | |
| 250 | + lsSectionRouteRepository.exchangeDirection(lineId, version); | |
| 251 | + | |
| 252 | + return new HashMap<>(); | |
| 253 | + } | |
| 254 | + | |
| 255 | + @Transactional | |
| 256 | + @Override | |
| 257 | + public Map<String, Object> modifyDistance(List<Integer> ids, List<Double> distances) { | |
| 258 | + LsStationRoute stationRoute = lsStationRouteRepository.findById(ids.get(0)).get(); | |
| 259 | + int currentVersion = lineVersionsRepository.findCurrentVersion(stationRoute.getLine().getId()); | |
| 260 | + if (stationRoute.getVersions() < currentVersion) { | |
| 261 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 262 | + } | |
| 263 | + | |
| 264 | + jdbcTemplate.batchUpdate("UPDATE bsth_c_ls_stationroute SET distances = ? WHERE id = ?", new BatchPreparedStatementSetter() { | |
| 265 | + @Override | |
| 266 | + public void setValues(PreparedStatement ps, int i) throws SQLException { | |
| 267 | + ps.setDouble(1, distances.get(i)); | |
| 268 | + ps.setInt(2, ids.get(i)); | |
| 269 | + } | |
| 270 | + | |
| 271 | + @Override | |
| 272 | + public int getBatchSize() { | |
| 273 | + return ids.size(); | |
| 274 | + } | |
| 275 | + }); | |
| 276 | + | |
| 277 | + if (stationRoute.getVersions() == currentVersion) { | |
| 278 | + refreshCurrent(stationRoute.getLine().getId(), currentVersion); | |
| 279 | + } | |
| 280 | + | |
| 281 | + return new HashMap<>(); | |
| 282 | + } | |
| 283 | + | |
| 284 | + @Transactional | |
| 285 | + @Override | |
| 286 | + public Map<String, Object> circularRouteHandle(Integer lineId, Integer version) { | |
| 287 | + Line line = lineRepository.findById(lineId).get(); | |
| 288 | + Integer currentVersion = lineVersionsRepository.findCurrentVersion(lineId); | |
| 289 | + if (version < currentVersion) { | |
| 290 | + throw new IllegalArgumentException("历史版本不可变更"); | |
| 291 | + } | |
| 292 | + | |
| 293 | + Map<String, Object> params = new HashMap<>(); | |
| 294 | + params.put("line.id_eq", lineId); | |
| 295 | + params.put("versions_eq", version); | |
| 296 | + params.put("destroy_eq", 0); | |
| 297 | + params.put("stationMark_in", "B,E"); | |
| 298 | + | |
| 299 | + Sort sort = Sort.by(Sort.Order.asc("directions"), Sort.Order.asc("stationRouteCode")); | |
| 300 | + List<LsStationRoute> routes = lsStationRouteRepository.findAll(new CustomerSpecs<>(params), sort); | |
| 301 | + LsStationRoute route = routes.get(0); | |
| 302 | + for (int i = 1;i < routes.size();i++) { | |
| 303 | + LsStationRoute route1 = routes.get(i); | |
| 304 | + if (line.getLinePlayType() == 1 && route1.getDirections() == 1) { | |
| 305 | + break; | |
| 306 | + } | |
| 307 | + route1.setStationCode(route.getStationCode()); | |
| 308 | + route1.setStation(route.getStation()); | |
| 309 | + } | |
| 310 | + lsStationRouteRepository.saveAll(routes); | |
| 311 | + if (version.equals(currentVersion)) { | |
| 312 | + refreshCurrent(lineId, version); | |
| 313 | + } | |
| 314 | + | |
| 315 | + return new HashMap<>(); | |
| 316 | + } | |
| 317 | + | |
| 318 | + protected void centerPoint(Station station) { | |
| 319 | + // 中心点坐标信息 | |
| 320 | + String wkt = station.getCenterPointWkt(); | |
| 321 | + if (!StringUtils.isEmpty(wkt)) { | |
| 322 | + org.geolatte.geom.Point baidu = (org.geolatte.geom.Point) Wkt.fromWkt(wkt); | |
| 323 | + org.geolatte.geom.Point wgs = GeoConverter.pointBd2wgs(wkt); | |
| 324 | + station.setCenterPoint(baidu); | |
| 325 | + station.setCenterPointWgs(wgs); | |
| 326 | + } | |
| 327 | + } | |
| 328 | + | |
| 329 | + protected void bufferPolygon(LsStationRoute stationRoute) { | |
| 330 | + String wkt = stationRoute.getBufferPolygonWkt(); | |
| 331 | + if (!StringUtils.isEmpty(wkt)) { | |
| 332 | + stationRoute.setBufferPolygon((Polygon) Wkt.fromWkt(wkt)); | |
| 333 | + stationRoute.setBufferPolygonWgs(GeoConverter.polygonBd2wgs(wkt)); | |
| 334 | + } | |
| 335 | + } | |
| 336 | + | |
| 337 | + protected void remark(LsStationRoute stationRoute) { | |
| 152 | 338 | lsStationRouteRepository.updateStartZ(stationRoute); |
| 153 | 339 | lsStationRouteRepository.updateStartB(stationRoute); |
| 154 | 340 | lsStationRouteRepository.updateStartE(stationRoute); |
| 155 | 341 | } |
| 342 | + | |
| 343 | + protected void refreshCurrent(int lineId, int version) { | |
| 344 | + stationRouteRepository.deleteByLineAndVersion(lineId, version); | |
| 345 | + stationRouteRepository.updateFromHistory(lineId, version); | |
| 346 | + } | |
| 156 | 347 | } | ... | ... |
src/main/java/com/bsth/service/impl/RoadSpeedServiceImpl.java deleted
100644 → 0
| 1 | -package com.bsth.service.impl; | |
| 2 | - | |
| 3 | -import java.util.ArrayList; | |
| 4 | -import java.util.HashMap; | |
| 5 | -import java.util.Iterator; | |
| 6 | -import java.util.List; | |
| 7 | -import java.util.Map; | |
| 8 | - | |
| 9 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 10 | -import org.springframework.stereotype.Service; | |
| 11 | - | |
| 12 | -import com.alibaba.fastjson.JSONArray; | |
| 13 | -import com.bsth.common.ResponseCode; | |
| 14 | -import com.bsth.entity.RoadSpeed; | |
| 15 | -import com.bsth.repository.RoadSpeedRepository; | |
| 16 | -import com.bsth.service.RoadSpeedService; | |
| 17 | -import com.bsth.util.CoordinateConverter; | |
| 18 | -import com.bsth.util.CoordinateConverter.Location; | |
| 19 | - | |
| 20 | -@Service | |
| 21 | -public class RoadSpeedServiceImpl extends BaseServiceImpl<RoadSpeed, Integer> implements RoadSpeedService { | |
| 22 | - | |
| 23 | - @Autowired | |
| 24 | - private RoadSpeedRepository repository; | |
| 25 | - | |
| 26 | - @Override | |
| 27 | - public Map<String, Object> update(Map<String, Object> map) { | |
| 28 | - Map<String, Object> resultMap = new HashMap<String, Object>(); | |
| 29 | - try { | |
| 30 | - int id = Integer.parseInt(map.get("id").toString()); | |
| 31 | - String name = map.get("name").toString(); | |
| 32 | - double speed = Double.valueOf(map.get("speed").toString()); | |
| 33 | - String speedStartDate = map.get("speedStartDate").toString(); | |
| 34 | - String speedEndDate = map.get("speedEndDate").toString(); | |
| 35 | - int isStart = Integer.parseInt(map.get("isStart").toString()); | |
| 36 | - String sectionJSON = map.get("bRoadVector").toString(); | |
| 37 | - // 原始线状图形坐标集合 | |
| 38 | - String sectionsBpoints = ""; | |
| 39 | - // WGS线状图形坐标集合 | |
| 40 | - String sectionsWJPpoints = ""; | |
| 41 | - if(!sectionJSON.equals("")) { | |
| 42 | - // 转换成JSON数组 | |
| 43 | - JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); | |
| 44 | - // 遍历 | |
| 45 | - for(int s = 0 ;s<sectionsArray.size();s++) { | |
| 46 | - String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | |
| 47 | - String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | |
| 48 | - String WGSLngStr = ""; | |
| 49 | - String WGSLatStr = ""; | |
| 50 | - Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); | |
| 51 | - WGSLngStr = String.valueOf(resultPoint.getLng()); | |
| 52 | - WGSLatStr = String.valueOf(resultPoint.getLat()); | |
| 53 | - if(s==0) { | |
| 54 | - sectionsBpoints = pointsLngStr + " " + pointsLatStr; | |
| 55 | - sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | |
| 56 | - }else { | |
| 57 | - sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | |
| 58 | - sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | |
| 59 | - } | |
| 60 | - } | |
| 61 | - } | |
| 62 | - // WGS坐标点集合 | |
| 63 | - String gRoadVector = "LINESTRING(" + sectionsWJPpoints +")"; | |
| 64 | - // 原坐标点集合 | |
| 65 | - String bRoadVector = "LINESTRING(" + sectionsBpoints + ")"; | |
| 66 | - | |
| 67 | - repository.update(id,name,gRoadVector,bRoadVector,speed,speedStartDate,speedEndDate,isStart); | |
| 68 | - resultMap.put("status", ResponseCode.SUCCESS); | |
| 69 | - } catch (Exception e) { | |
| 70 | - resultMap.put("status", ResponseCode.ERROR); | |
| 71 | - logger.error("save erro.", e); | |
| 72 | - } | |
| 73 | - return resultMap; | |
| 74 | - } | |
| 75 | - | |
| 76 | - @Override | |
| 77 | - public Map<String, Object> roadSpeedSave(Map<String, Object> map) { | |
| 78 | - Map<String, Object> resultMap = new HashMap<String, Object>(); | |
| 79 | - try { | |
| 80 | - String name = map.get("name").toString(); | |
| 81 | - double speed = Double.valueOf(map.get("speed").toString()); | |
| 82 | - String speedStartDate = map.get("speedStartDate").toString(); | |
| 83 | - String speedEndDate = map.get("speedEndDate").toString(); | |
| 84 | - int isStart = Integer.parseInt(map.get("isStart").toString()); | |
| 85 | - String sectionJSON = map.get("bRoadVector").toString(); | |
| 86 | - // 原始线状图形坐标集合 | |
| 87 | - String sectionsBpoints = ""; | |
| 88 | - // WGS线状图形坐标集合 | |
| 89 | - String sectionsWJPpoints = ""; | |
| 90 | - if(!sectionJSON.equals("")) { | |
| 91 | - // 转换成JSON数组 | |
| 92 | - JSONArray sectionsArray = JSONArray.parseArray(sectionJSON); | |
| 93 | - // 遍历 | |
| 94 | - for(int s = 0 ;s<sectionsArray.size();s++) { | |
| 95 | - String pointsLngStr = sectionsArray.getJSONObject(s).get("lng").toString(); | |
| 96 | - String pointsLatStr = sectionsArray.getJSONObject(s).get("lat").toString(); | |
| 97 | - String WGSLngStr = ""; | |
| 98 | - String WGSLatStr = ""; | |
| 99 | - Location resultPoint = FromBDPointToWGSPoint(pointsLngStr,pointsLatStr); | |
| 100 | - WGSLngStr = String.valueOf(resultPoint.getLng()); | |
| 101 | - WGSLatStr = String.valueOf(resultPoint.getLat()); | |
| 102 | - if(s==0) { | |
| 103 | - sectionsBpoints = pointsLngStr + " " + pointsLatStr; | |
| 104 | - sectionsWJPpoints = WGSLngStr + " " + WGSLatStr; | |
| 105 | - }else { | |
| 106 | - sectionsBpoints = sectionsBpoints + "," + pointsLngStr + " " + pointsLatStr; | |
| 107 | - sectionsWJPpoints = sectionsWJPpoints + "," + WGSLngStr + " " + WGSLatStr; | |
| 108 | - } | |
| 109 | - } | |
| 110 | - } | |
| 111 | - // WGS坐标点集合 | |
| 112 | - String gRoadVector = "LINESTRING(" + sectionsWJPpoints +")"; | |
| 113 | - // 原坐标点集合 | |
| 114 | - String bRoadVector = "LINESTRING(" + sectionsBpoints + ")"; | |
| 115 | - | |
| 116 | - repository.roadSpeedSave(name,gRoadVector,bRoadVector,speed,speedStartDate,speedEndDate,isStart); | |
| 117 | - resultMap.put("status", ResponseCode.SUCCESS); | |
| 118 | - } catch (Exception e) { | |
| 119 | - resultMap.put("status", ResponseCode.ERROR); | |
| 120 | - logger.error("save erro.", e); | |
| 121 | - } | |
| 122 | - return resultMap; | |
| 123 | - } | |
| 124 | - | |
| 125 | - /** 百度坐标转WGS坐标 */ | |
| 126 | - public Location FromBDPointToWGSPoint(String bLonx,String bLatx) { | |
| 127 | - | |
| 128 | - double lng = Double.parseDouble(bLonx); | |
| 129 | - | |
| 130 | - double lat = Double.parseDouble(bLatx); | |
| 131 | - | |
| 132 | - Location bdLoc = CoordinateConverter.LocationMake(lng, lat); | |
| 133 | - | |
| 134 | - Location location = CoordinateConverter.bd_decrypt(bdLoc); | |
| 135 | - | |
| 136 | - Location WGSPoint = CoordinateConverter.transformFromGCJToWGS(location); | |
| 137 | - | |
| 138 | - return WGSPoint; | |
| 139 | - | |
| 140 | - } | |
| 141 | - | |
| 142 | - @Override | |
| 143 | - public RoadSpeed findId(Integer id) { | |
| 144 | - List<Object[]> listObc = repository.selectById(id); | |
| 145 | - | |
| 146 | - Object rsObj[] = listObc.get(0); | |
| 147 | - RoadSpeed rs = new RoadSpeed(); | |
| 148 | - String id1 = rsObj[0].toString(); | |
| 149 | - rs.setId(Integer.parseInt(id1)); | |
| 150 | - rs.setName(rsObj[1].toString()); | |
| 151 | - rs.setbRoadVector(rsObj[2].toString()); | |
| 152 | - rs.setgRoadVector(rsObj[3].toString()); | |
| 153 | - rs.setSpeed(Double.valueOf(rsObj[4].toString())); | |
| 154 | - rs.setSpeedStartDate(rsObj[5].toString()); | |
| 155 | - rs.setSpeedEndDate(rsObj[6].toString()); | |
| 156 | - rs.setIsStart(Integer.parseInt(rsObj[7].toString())); | |
| 157 | - if (rsObj[8] != null) { | |
| 158 | - rs.setLine(rsObj[8].toString()); | |
| 159 | - } | |
| 160 | - return rs; | |
| 161 | - } | |
| 162 | - | |
| 163 | - @Override | |
| 164 | - public List<RoadSpeed> allRoadSpeed() { | |
| 165 | - List<RoadSpeed> list = new ArrayList<>(); | |
| 166 | - /*Iterator<RoadSpeed> itr = repository.findAll().iterator(); | |
| 167 | - while (itr.hasNext()){ | |
| 168 | - RoadSpeed aRoadSpeed = itr.next(); | |
| 169 | - System.out.println("aRoadSpeed"); | |
| 170 | - list.add(aRoadSpeed); | |
| 171 | - }*/ | |
| 172 | - return list; | |
| 173 | - } | |
| 174 | -} |