Ver Fonte

no message

USER-20250308PZ\Administrator há 8 meses atrás
pai
commit
f4abd60c48

+ 3 - 3
bus-biz/src/main/java/bus/service/BBusInfoService.java

@@ -1,8 +1,6 @@
 package bus.service;
 
-import bus.model.dto.BBusInfoDto;
-import bus.model.dto.BBusTrackInfoDto;
-import bus.model.dto.BBusTrackTreeDto;
+import bus.model.dto.*;
 import bus.model.dto.page.BBusInfoPageDto;
 import bus.model.po.BBusInfoPo;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -67,4 +65,6 @@ public interface BBusInfoService extends IService<BBusInfoPo> {
      */
     BBusTrackInfoDto getTrackInfo(String busId);
 
+
+    BTrackStationDto getPoint(String var1);
 }

+ 9 - 2
bus-biz/src/main/java/bus/service/BCourseInfoService.java

@@ -1,7 +1,6 @@
 package bus.service;
 
-import bus.model.dto.BBusTrackInfoDto;
-import bus.model.dto.BCourseInfoDto;
+import bus.model.dto.*;
 import bus.model.dto.page.BCourseInfoPageDto;
 import bus.model.vo.BCourseInfoVo;
 import bus.model.po.BCourseInfoPo;
@@ -55,4 +54,12 @@ public interface BCourseInfoService extends IService<BCourseInfoPo> {
     void delete(String id);
 
     List<BBusTrackInfoDto> getNearbyRoutes(BigDecimal latitude, BigDecimal longitude, Integer radius);
+
+    List<BCourseTrackTreeDto> getTreeList();
+
+    BTrackStationDto getPoint(String var1);
+
+    List<BStationPointDto> getAllPoint();
+
+    List<BTrackCourseDto> getAllCourse();
 }

+ 2 - 2
bus-biz/src/main/java/bus/service/BCourseStationService.java

@@ -44,8 +44,8 @@ public interface BCourseStationService extends IService<BCourseStationPo> {
      * @return
      */
     void update(BCourseStationDto dto);
-
-	/**
+    List<BCourseStationPo> getListByCourse(String courseId);
+    /**
      * 删除
      * @param id
      * @return

+ 0 - 1
bus-biz/src/main/java/bus/service/impl/BAdvertServiceImpl.java

@@ -82,7 +82,6 @@ public class BAdvertServiceImpl extends ServiceImpl<BAdvertMapper, BAdvertPo> im
         BAdvertPo po = new BAdvertPo();
         BeanUtils.copyProperties(dto,po);
         ExtInfo extInfo = CurrentUserHolder.get();
-        po.setId(snowflakeUtil.snowflakeId());
         po.setUpdateTime(new Date());
         po.setUpdaterId(extInfo.getUserId());
         po.setUpdaterName(extInfo.getUserName());

+ 58 - 10
bus-biz/src/main/java/bus/service/impl/BBusInfoServiceImpl.java

@@ -1,19 +1,21 @@
 package bus.service.impl;
 
 import bus.model.SnowflakeUtil;
-import bus.model.dto.BBusInfoDto;
-import bus.model.dto.BBusTrackInfoDto;
-import bus.model.dto.BBusTrackTreeDto;
+import bus.model.dto.*;
 import bus.model.dto.page.BBusInfoPageDto;
 import bus.model.po.BCourseBusPo;
+import bus.model.po.BCourseInfoPo;
+import bus.model.po.BCourseStationPo;
 import bus.model.vo.BBusInfoVo;
 import bus.model.po.BBusInfoPo;
 import bus.mapper.BBusInfoMapper;
 
-import bus.service.BBusInfoService;
-import bus.service.BCourseBusService;
+import bus.service.*;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.PhoneUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.orcas.common.sso.model.ExtInfo;
@@ -46,6 +48,12 @@ public class BBusInfoServiceImpl extends ServiceImpl<BBusInfoMapper,BBusInfoPo>
     private BCourseBusService bCourseBusService;
     @Resource
     private SnowflakeUtil snowflakeUtil;
+    @Resource
+    BCourseInfoService bCourseInfoService;
+    @Resource
+    BCourseStationService bCourseStationService;
+    @Resource
+    BStationInfoService bStationInfoService;
 
 	/**
      * 详情
@@ -166,13 +174,12 @@ public class BBusInfoServiceImpl extends ServiceImpl<BBusInfoMapper,BBusInfoPo>
             BBusTrackTreeDto statusNode = new BBusTrackTreeDto();
             statusNode.setStatus(status);
             // 添加子节点(车辆)
-            List<BBusInfoDto> children = buses.stream()
+            List<BTrackNameDto> children = buses.stream()
                     .map(bus -> {
-                        BBusInfoDto busNode = new BBusInfoDto();
+                        BTrackNameDto busNode = new BTrackNameDto();
                         busNode.setId(bus.getId());
-                        busNode.setBusNo(bus.getBusNo());
-                        busNode.setBusName(bus.getBusName());
-                        busNode.setStatus(bus.getStatus());
+                        busNode.setName(bus.getBusName());
+                        busNode.setCode(bus.getBusNo());
                         return busNode;
                     })
                     .collect(Collectors.toList());
@@ -199,4 +206,45 @@ public class BBusInfoServiceImpl extends ServiceImpl<BBusInfoMapper,BBusInfoPo>
 
         return null;
     }
+
+    public BTrackStationDto getPoint(String busId) {
+        BTrackStationDto dto = new BTrackStationDto();
+        QueryWrapper<BCourseBusPo> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("bus_id", busId);
+        queryWrapper.eq("is_delete", 0);
+        BCourseBusPo courseBus = (BCourseBusPo)this.bCourseBusService.getOne(queryWrapper);
+        if (courseBus == null) {
+            throw new BusinessException("该车辆未分配路线");
+        } else {
+            String courseId = courseBus.getCourseId();
+            BCourseInfoPo byId = (BCourseInfoPo)this.bCourseInfoService.getById(courseId);
+            if (byId == null) {
+                throw new BusinessException("该路线不存在");
+            } else {
+                List<BCourseStationPo> listByCourse = this.bCourseStationService.getListByCourse(courseId);
+                if (CollectionUtil.isNotEmpty(listByCourse)) {
+                    List<String> stationIds = (List)listByCourse.stream().map(BCourseStationPo::getStationId).collect(Collectors.toList());
+                    List<BStationPointDto> list = new ArrayList();
+                    this.bStationInfoService.listByIds(stationIds).forEach((bStationInfoPo) -> {
+                        BStationPointDto bCoursePointDto = new BStationPointDto();
+                        bCoursePointDto.setLatitude(bCoursePointDto.getLatitude());
+                        bCoursePointDto.setLongitude(bCoursePointDto.getLongitude());
+                        bCoursePointDto.setId(bStationInfoPo.getId());
+                        bCoursePointDto.setName(bStationInfoPo.getName());
+                        list.add(bCoursePointDto);
+                    });
+                    dto.setSlist(list);
+                }
+
+                String mapPoint = byId.getMapPoint();
+                if (StrUtil.isNotBlank(mapPoint)) {
+                    List<BCoursePointDto> fileJsons = JSONUtil.toList(mapPoint, BCoursePointDto.class);
+                    dto.setClist(fileJsons);
+                }
+
+                dto.setId(busId);
+                return dto;
+            }
+        }
+    }
 }

+ 85 - 0
bus-biz/src/main/java/bus/service/impl/BCourseInfoServiceImpl.java

@@ -12,6 +12,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.orcas.common.sso.model.ExtInfo;
@@ -438,5 +439,89 @@ public class BCourseInfoServiceImpl extends ServiceImpl<BCourseInfoMapper, BCour
         return s;
     }
 
+    @Override
+    public List<BCourseTrackTreeDto> getTreeList() {
+        List<BCourseInfoPo> list = this.bCourseInfoMapper.selectList((Wrapper)((QueryWrapper)(new QueryWrapper()).eq("is_delete", 0)).orderByDesc("status"));
+        Map<String, List<BCourseInfoPo>> busGroups = (Map)list.stream().collect(Collectors.groupingBy(BCourseInfoPo::getStatus, Collectors.toList()));
+        List<BCourseTrackTreeDto> treeList = new ArrayList();
+        busGroups.forEach((status, buses) -> {
+            BCourseTrackTreeDto statusNode = new BCourseTrackTreeDto();
+            statusNode.setStatus(status);
+            List<BTrackNameDto> children = (List)buses.stream().map((bus) -> {
+                BTrackNameDto busNode = new BTrackNameDto();
+                busNode.setId(bus.getId());
+                busNode.setName(bus.getCourseName());
+                busNode.setCode(bus.getCourseCode());
+                return busNode;
+            }).collect(Collectors.toList());
+            statusNode.setList(children);
+            treeList.add(statusNode);
+        });
+        return treeList;
+    }
+
+    @Override
+    public BTrackStationDto getPoint(String courseId) {
+        BTrackStationDto dto = new BTrackStationDto();
+        BCourseInfoPo byId = (BCourseInfoPo)this.getById(courseId);
+        List<BCourseStationPo> listByCourse = this.bCourseStationService.getListByCourse(courseId);
+        if (CollectionUtil.isNotEmpty(listByCourse)) {
+            List<String> stationIds = (List)listByCourse.stream().map(BCourseStationPo::getStationId).collect(Collectors.toList());
+            List<BStationPointDto> list = new ArrayList();
+            this.bStationInfoService.listByIds(stationIds).forEach((bStationInfoPo) -> {
+                BStationPointDto bCoursePointDto = new BStationPointDto();
+                bCoursePointDto.setLatitude(bCoursePointDto.getLatitude());
+                bCoursePointDto.setLongitude(bCoursePointDto.getLongitude());
+                bCoursePointDto.setId(bStationInfoPo.getId());
+                bCoursePointDto.setName(bStationInfoPo.getName());
+                list.add(bCoursePointDto);
+            });
+            dto.setSlist(list);
+        }
+
+        String mapPoint = byId.getMapPoint();
+        if (StrUtil.isNotBlank(mapPoint)) {
+            List<BCoursePointDto> fileJsons = JSONUtil.toList(mapPoint, BCoursePointDto.class);
+            dto.setClist(fileJsons);
+        }
+
+        dto.setId(courseId);
+        return dto;
+    }
+
+    @Override
+    public List<BStationPointDto> getAllPoint() {
+        QueryWrapper<BStationInfoPo> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("is_delete", 0);
+        List<BStationInfoPo> list = this.bStationInfoService.list(queryWrapper);
+        List<BStationPointDto> bStationPointDtos = BeanUtil.copyToList(list, BStationPointDto.class);
+        return bStationPointDtos;
+    }
+
+    @Override
+    public List<BTrackCourseDto> getAllCourse() {
+        List<BTrackCourseDto> list = new ArrayList();
+        QueryWrapper<BCourseInfoPo> queryWrapper1 = new QueryWrapper();
+        queryWrapper1.eq("is_delete", 0);
+        List<BCourseInfoPo> list1 = this.list(queryWrapper1);
+        Iterator var4 = list1.iterator();
+
+        while(var4.hasNext()) {
+            BCourseInfoPo po = (BCourseInfoPo)var4.next();
+            String mapPoint = po.getMapPoint();
+            if (StrUtil.isNotBlank(mapPoint)) {
+                BTrackCourseDto dto = new BTrackCourseDto();
+                List<BCoursePointDto> fileJsons = JSONUtil.toList(mapPoint, BCoursePointDto.class);
+                dto.setClist(fileJsons);
+                dto.setId(po.getId());
+                list.add(dto);
+            }
+        }
+
+        return list;
+    }
+
+
+
 
 }

+ 6 - 0
bus-biz/src/main/java/bus/service/impl/BCourseStationServiceImpl.java

@@ -7,6 +7,7 @@ import bus.model.po.BCourseStationPo;
 import bus.mapper.BCourseStationMapper;
 
 import bus.service.BCourseStationService;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -70,6 +71,11 @@ public class BCourseStationServiceImpl extends ServiceImpl<BCourseStationMapper,
         BeanUtils.copyProperties(dto,po);
 		bCourseStationMapper.updateById(po);
     }
+    @Override
+    public List<BCourseStationPo> getListByCourse(String courseId) {
+        List<BCourseStationPo> list = this.bCourseStationMapper.selectList((Wrapper)(new QueryWrapper()).eq("course_id", courseId));
+        return list;
+    }
 
     /**
      * 删除

+ 1 - 1
bus-common/src/main/java/bus/model/dto/BBusTrackTreeDto.java

@@ -17,5 +17,5 @@ public class BBusTrackTreeDto {
     @ApiModelProperty("车辆状态 0禁用 1维护 2正常")
     private String status;
 
-    List<BBusInfoDto> list;
+    List<BTrackNameDto> list;
 }

+ 14 - 0
bus-common/src/main/java/bus/model/dto/BCourseTrackTreeDto.java

@@ -0,0 +1,14 @@
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BCourseTrackTreeDto {
+    @ApiModelProperty("路线状态 0禁用 1维护 2正常")
+    private String status;
+    List<BTrackNameDto> list;
+
+}

+ 20 - 0
bus-common/src/main/java/bus/model/dto/BStationPointDto.java

@@ -0,0 +1,20 @@
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BStationPointDto {
+    @ApiModelProperty("经度")
+    private BigDecimal longitude;
+    @ApiModelProperty("纬度")
+    private BigDecimal latitude;
+    @ApiModelProperty("站点id")
+    private String id;
+    @ApiModelProperty("站点名称")
+    private String name;
+
+
+}

+ 19 - 0
bus-common/src/main/java/bus/model/dto/BTrackCourseDto.java

@@ -0,0 +1,19 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class BTrackCourseDto {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("路线经纬度")
+    List<BCoursePointDto> clist;
+
+}

+ 20 - 0
bus-common/src/main/java/bus/model/dto/BTrackNameDto.java

@@ -0,0 +1,20 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BTrackNameDto {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("名称")
+    private String name;
+    @ApiModelProperty("编号")
+    private String code;
+
+}

+ 18 - 0
bus-common/src/main/java/bus/model/dto/BTrackStationDto.java

@@ -0,0 +1,18 @@
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BTrackStationDto {
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("站点经纬度信息")
+    List<BStationPointDto> slist;
+    @ApiModelProperty("路线经纬度")
+    List<BCoursePointDto> clist;
+
+
+}

+ 7 - 0
bus-web/src/main/java/bus/controller/biz/BBusTrackController.java

@@ -3,6 +3,7 @@ package bus.controller.biz;
 import bus.model.dto.BBusInfoDto;
 import bus.model.dto.BBusTrackInfoDto;
 import bus.model.dto.BBusTrackTreeDto;
+import bus.model.dto.BTrackStationDto;
 import bus.model.dto.page.BBusInfoPageDto;
 import bus.service.BBusInfoService;
 import com.github.pagehelper.PageHelper;
@@ -58,4 +59,10 @@ public class BBusTrackController implements BaseController {
         return trackInfo;
     }
 
+    @ApiOperation("根据车辆ID获取车辆所在路线经纬度")
+    @GetMapping({"getPoint"})
+    public BTrackStationDto getPoint(String busId) {
+        BTrackStationDto point = this.bBusInfoService.getPoint(busId);
+        return point;
+    }
 }

+ 66 - 0
bus-web/src/main/java/bus/controller/biz/BCourseTrackController.java

@@ -0,0 +1,66 @@
+//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by FernFlower decompiler)
+//
+
+package bus.controller.biz;
+
+import bus.model.dto.BCourseTrackTreeDto;
+import bus.model.dto.BStationPointDto;
+import bus.model.dto.BTrackCourseDto;
+import bus.model.dto.BTrackStationDto;
+import bus.service.BCourseInfoService;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import java.util.List;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@CrossOrigin
+@RestController
+@Api(
+    tags = {"路线地图接口"}
+)
+@RequestMapping({"/bCourseTrackInfo"})
+public class BCourseTrackController implements BaseController {
+    private static final Logger log = LoggerFactory.getLogger(BCourseTrackController.class);
+    @Autowired
+    private BCourseInfoService bCourseInfoService;
+
+    public BCourseTrackController() {
+    }
+
+    @ApiOperation("获取路线状态树型数据")
+    @GetMapping({"getTreeList"})
+    public List<BCourseTrackTreeDto> getTreeList() {
+        List<BCourseTrackTreeDto> treeList = this.bCourseInfoService.getTreeList();
+        return treeList;
+    }
+
+    @ApiOperation("根据路线ID获取站点路线信息")
+    @GetMapping({"getPoint"})
+    public BTrackStationDto getPoint(String courseId) {
+        BTrackStationDto bTrackStationDto = this.bCourseInfoService.getPoint(courseId);
+        return bTrackStationDto;
+    }
+
+    @ApiOperation("获取所有站点信息")
+    @GetMapping({"getAllPoint"})
+    public List<BStationPointDto> getAllPoint() {
+        List<BStationPointDto> allPoint = this.bCourseInfoService.getAllPoint();
+        return allPoint;
+    }
+
+    @ApiOperation("获取所有路线信息")
+    @GetMapping({"getAllCourse"})
+    public List<BTrackCourseDto> getAllCourse() {
+        List<BTrackCourseDto> allCourse = this.bCourseInfoService.getAllCourse();
+        return allCourse;
+    }
+}