|
@@ -11,6 +11,8 @@ import com.jpsoft.bus.modules.base.entity.MergeOrderInfo;
|
|
|
import com.jpsoft.bus.modules.base.entity.OrderInfo;
|
|
|
import com.jpsoft.bus.modules.base.service.MergeOrderInfoService;
|
|
|
import com.jpsoft.bus.modules.base.service.OrderInfoService;
|
|
|
+import com.jpsoft.bus.modules.bus.dto.NearbyShiftDTO;
|
|
|
+import com.jpsoft.bus.modules.bus.dto.NearbyStationDTO;
|
|
|
import com.jpsoft.bus.modules.bus.dto.PassengerDetailDTO;
|
|
|
import com.jpsoft.bus.modules.bus.dto.VehicleStationDTO;
|
|
|
import com.jpsoft.bus.modules.bus.entity.*;
|
|
@@ -24,6 +26,8 @@ import io.swagger.annotations.ApiImplicitParams;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.gavaghan.geodesy.Ellipsoid;
|
|
|
+import org.gavaghan.geodesy.GlobalCoordinates;
|
|
|
import org.joda.time.DateTime;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -90,13 +94,13 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "subject", value = "令牌", required = false, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "carNum", value = "车牌号", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> findByCarNum(String token, @RequestAttribute String subject, String carNum){
|
|
|
+ public MessageResult<Map> findByCarNum(String token, @RequestAttribute String subject, String carNum) {
|
|
|
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
- try{
|
|
|
+ try {
|
|
|
|
|
|
- }catch (Exception ex){
|
|
|
- log.error(ex.getMessage(),ex);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
messageResult.setCode(400);
|
|
|
messageResult.setResult(false);
|
|
|
messageResult.setMessage(ex.getMessage());
|
|
@@ -135,7 +139,7 @@ public class PassengerApiController {
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
|
} catch (Exception ex) {
|
|
|
- log.error(ex.getMessage(),ex);
|
|
|
+ log.error(ex.getMessage(), ex);
|
|
|
messageResult.setResult(false);
|
|
|
messageResult.setCode(400);
|
|
|
messageResult.setMessage(ex.getMessage());
|
|
@@ -159,7 +163,7 @@ public class PassengerApiController {
|
|
|
|
|
|
String beforeVerifyCode = (String) redisTemplate.opsForValue().get(smsKey);
|
|
|
|
|
|
- if (StringUtils.isBlank(openId)){
|
|
|
+ if (StringUtils.isBlank(openId)) {
|
|
|
throw new Exception("用户标识为空");
|
|
|
}
|
|
|
|
|
@@ -177,11 +181,11 @@ public class PassengerApiController {
|
|
|
Long userId;
|
|
|
|
|
|
UserInfo userInfo = userInfoService.findByPhone(phone);
|
|
|
- if (userInfo == null){
|
|
|
+ if (userInfo == null) {
|
|
|
UserInfo userInfo1 = new UserInfo();
|
|
|
- userInfo1.setName("乘客_"+ com.jpsoft.bus.modules.common.utils.StringUtils.random(8, com.jpsoft.bus.modules.common.utils.StringUtils.RandomType.ALL));
|
|
|
+ userInfo1.setName("乘客_" + com.jpsoft.bus.modules.common.utils.StringUtils.random(8, com.jpsoft.bus.modules.common.utils.StringUtils.RandomType.ALL));
|
|
|
userInfo1.setPhone(phone);
|
|
|
- userInfo1.setPassword(des3.encrypt(jwtSecret,phone));
|
|
|
+ userInfo1.setPassword(des3.encrypt(jwtSecret, phone));
|
|
|
userInfo1.setAcceptMessage(false);
|
|
|
userInfo1.setCreateTime(new Date());
|
|
|
userInfo1.setDelFlag(false);
|
|
@@ -189,7 +193,7 @@ public class PassengerApiController {
|
|
|
userInfoService.insert(userInfo1);
|
|
|
userId = userInfo1.getId();
|
|
|
userInfo = userInfo1;
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
userInfo.setOpenId(openId);
|
|
|
userInfoService.update(userInfo);
|
|
|
userId = userInfo.getId();
|
|
@@ -225,9 +229,9 @@ public class PassengerApiController {
|
|
|
|
|
|
try {
|
|
|
|
|
|
- List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id,"1");
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
|
|
- if (shiftInfoList.size() == 0){
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
throw new Exception("当前车辆没有正运行的班次");
|
|
|
}
|
|
|
|
|
@@ -248,22 +252,21 @@ public class PassengerApiController {
|
|
|
//线路所有站点
|
|
|
List<StationInfo> stationInfoList = stationInfoService.findByRouteId(shiftInfo.getRouteId());
|
|
|
|
|
|
- // List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo,stationInfoList);
|
|
|
-
|
|
|
+ // List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo,stationInfoList);
|
|
|
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("startStation",startStation.getName());
|
|
|
- map.put("startStationId",startStation.getId());
|
|
|
- map.put("startStationCoordinate",startStation.getLongitude() + "|" +startStation.getLatitude());
|
|
|
- map.put("endStation",endStation.getName());
|
|
|
- map.put("endStationId",endStation.getId());
|
|
|
- map.put("endStationCoordinate",endStation.getLongitude() + "|" + endStation.getLatitude());
|
|
|
- map.put("startTime",routeInfo.getStartTime());
|
|
|
- map.put("endTime",routeInfo.getEndTime());
|
|
|
- map.put("routeName",routeInfo.getName());
|
|
|
- map.put("mapPath",routeInfo.getMapPath());
|
|
|
- // map.put("stationList",vehicleStationDTOList);
|
|
|
+ map.put("startStation", startStation.getName());
|
|
|
+ map.put("startStationId", startStation.getId());
|
|
|
+ map.put("startStationCoordinate", startStation.getLongitude() + "|" + startStation.getLatitude());
|
|
|
+ map.put("endStation", endStation.getName());
|
|
|
+ map.put("endStationId", endStation.getId());
|
|
|
+ map.put("endStationCoordinate", endStation.getLongitude() + "|" + endStation.getLatitude());
|
|
|
+ map.put("startTime", routeInfo.getStartTime());
|
|
|
+ map.put("endTime", routeInfo.getEndTime());
|
|
|
+ map.put("routeName", routeInfo.getName());
|
|
|
+ map.put("mapPath", routeInfo.getMapPath());
|
|
|
+ // map.put("stationList",vehicleStationDTOList);
|
|
|
messageResult.setData(map);
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
@@ -302,7 +305,7 @@ public class PassengerApiController {
|
|
|
//线路所有站点
|
|
|
List<StationInfo> stationInfoList = stationInfoService.findByRouteId(shiftInfo.getRouteId());
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
- List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo,stationInfoList);
|
|
|
+ List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo, stationInfoList);
|
|
|
messageResult.setData(vehicleStationDTOList);
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
@@ -341,7 +344,7 @@ public class PassengerApiController {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("longitude", vehicleInfo.getLongitude());
|
|
|
map.put("latitude", vehicleInfo.getLatitude());
|
|
|
- map.put("currentStationId",shiftInfo.getCurrentStationId());
|
|
|
+ map.put("currentStationId", shiftInfo.getCurrentStationId());
|
|
|
messageResult.setData(map);
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
@@ -361,7 +364,7 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form"),
|
|
|
@ApiImplicitParam(name = "openId", value = "openId", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> getPassengerInfo(String id,String openId) {
|
|
|
+ public MessageResult<Map> getPassengerInfo(String id, String openId) {
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
@@ -379,49 +382,47 @@ public class PassengerApiController {
|
|
|
VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
|
|
String mergeOrderId = null;
|
|
|
- List<MergeOrderInfo> mergeOrderInfoList = mergeOrderInfoService.findByOpenIdShiftIdPayStatus(openId,shiftInfo.getId(),10);
|
|
|
+ List<MergeOrderInfo> mergeOrderInfoList = mergeOrderInfoService.findByOpenIdShiftIdPayStatus(openId, shiftInfo.getId(), 10);
|
|
|
|
|
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
List<PassengerOrderDTO> passengerOrderDTOList = new ArrayList<>();
|
|
|
- if (mergeOrderInfoList.size()>0){
|
|
|
- MergeOrderInfo mergeOrderInfo = mergeOrderInfoList.get(0);
|
|
|
- List<OrderInfo> orderInfoList = orderInfoService.findByMergeOrderId(mergeOrderInfo.getId());
|
|
|
- mergeOrderId = mergeOrderInfo.getId();
|
|
|
-
|
|
|
- if (orderInfoList.size()>0){
|
|
|
- for (OrderInfo orderInfo : orderInfoList){
|
|
|
-
|
|
|
-
|
|
|
- PassengerInfo passengerInfo = passengerInfoService.get(orderInfo.getPassengerId());
|
|
|
- //购票始发站
|
|
|
- StationInfo start = stationInfoService.get(orderInfo.getTicketUpStationId());
|
|
|
- //购票终点站
|
|
|
- StationInfo end = stationInfoService.get(orderInfo.getTicketDownStationId());
|
|
|
- PassengerOrderDTO passengerOrderDTO = new PassengerOrderDTO();
|
|
|
- passengerOrderDTO.setId(orderInfo.getPassengerId());
|
|
|
- passengerOrderDTO.setImageUrl(passengerInfo.getImageUrl());
|
|
|
- passengerOrderDTO.setTicketUpStationName(start.getName());
|
|
|
- passengerOrderDTO.setTicketUpStationId(start.getId());
|
|
|
- passengerOrderDTO.setTicketDownStationId(end.getId());
|
|
|
- passengerOrderDTO.setTicketDownStationName(end.getName());
|
|
|
- passengerOrderDTO.setTicketType(orderInfo.getTicketType());
|
|
|
- passengerOrderDTO.setTicketTypeStr(passengerOrderDTO.getTicketTypeStr(passengerOrderDTO.getTicketType()));
|
|
|
- passengerOrderDTO.setGoodsTicket(orderInfo.getGoodsTicket());
|
|
|
- passengerOrderDTO.setTotalFee(orderInfo.getTotalFee());
|
|
|
- passengerOrderDTOList.add(passengerOrderDTO);
|
|
|
-
|
|
|
- totalAmount = totalAmount.add(orderInfo.getTotalFee());
|
|
|
- }
|
|
|
- }
|
|
|
+ if (mergeOrderInfoList.size() > 0) {
|
|
|
+ MergeOrderInfo mergeOrderInfo = mergeOrderInfoList.get(0);
|
|
|
+ List<OrderInfo> orderInfoList = orderInfoService.findByMergeOrderId(mergeOrderInfo.getId());
|
|
|
+ mergeOrderId = mergeOrderInfo.getId();
|
|
|
+
|
|
|
+ if (orderInfoList.size() > 0) {
|
|
|
+ for (OrderInfo orderInfo : orderInfoList) {
|
|
|
+
|
|
|
+
|
|
|
+ PassengerInfo passengerInfo = passengerInfoService.get(orderInfo.getPassengerId());
|
|
|
+ //购票始发站
|
|
|
+ StationInfo start = stationInfoService.get(orderInfo.getTicketUpStationId());
|
|
|
+ //购票终点站
|
|
|
+ StationInfo end = stationInfoService.get(orderInfo.getTicketDownStationId());
|
|
|
+ PassengerOrderDTO passengerOrderDTO = new PassengerOrderDTO();
|
|
|
+ passengerOrderDTO.setId(orderInfo.getPassengerId());
|
|
|
+ passengerOrderDTO.setImageUrl(passengerInfo.getImageUrl());
|
|
|
+ passengerOrderDTO.setTicketUpStationName(start.getName());
|
|
|
+ passengerOrderDTO.setTicketUpStationId(start.getId());
|
|
|
+ passengerOrderDTO.setTicketDownStationId(end.getId());
|
|
|
+ passengerOrderDTO.setTicketDownStationName(end.getName());
|
|
|
+ passengerOrderDTO.setTicketType(orderInfo.getTicketType());
|
|
|
+ passengerOrderDTO.setTicketTypeStr(passengerOrderDTO.getTicketTypeStr(passengerOrderDTO.getTicketType()));
|
|
|
+ passengerOrderDTO.setGoodsTicket(orderInfo.getGoodsTicket());
|
|
|
+ passengerOrderDTO.setTotalFee(orderInfo.getTotalFee());
|
|
|
+ passengerOrderDTOList.add(passengerOrderDTO);
|
|
|
+
|
|
|
+ totalAmount = totalAmount.add(orderInfo.getTotalFee());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("totalAmount", totalAmount);
|
|
|
map.put("list", passengerOrderDTOList);
|
|
|
- map.put("id",mergeOrderId);
|
|
|
+ map.put("id", mergeOrderId);
|
|
|
messageResult.setData(map);
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
@@ -436,7 +437,6 @@ public class PassengerApiController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
@PostMapping("upload")
|
|
|
@ApiOperation(value = "人员照片上传")
|
|
|
@ApiImplicitParams({
|
|
@@ -450,7 +450,7 @@ public class PassengerApiController {
|
|
|
try {
|
|
|
|
|
|
|
|
|
- String retFileUrl = OSSUtil.uploadBase64(photoFile,photoName,ossConfig);
|
|
|
+ String retFileUrl = OSSUtil.uploadBase64(photoFile, photoName, ossConfig);
|
|
|
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setData(retFileUrl);
|
|
@@ -472,7 +472,7 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "faceImageUrl", value = "人脸照片", required = true, paramType = "form"),
|
|
|
@ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> matchFaceImage(String faceImageUrl,String id) {
|
|
|
+ public MessageResult<Map> matchFaceImage(String faceImageUrl, String id) {
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
@@ -481,10 +481,10 @@ public class PassengerApiController {
|
|
|
//人脸库id
|
|
|
String groupId = CommonUtil.getProvinceNum(vehicleInfo.getLicensePlateNumber()) + StrUtil.sub(vehicleInfo.getLicensePlateNumber(), 1, 10);
|
|
|
|
|
|
- Long personId = baiduService.faceSearch(faceImageUrl,"URL",groupId);
|
|
|
- if (personId == null){
|
|
|
- throw new Exception("无匹配照片");
|
|
|
- }
|
|
|
+ Long personId = baiduService.faceSearch(faceImageUrl, "URL", groupId);
|
|
|
+ if (personId == null) {
|
|
|
+ throw new Exception("无匹配照片");
|
|
|
+ }
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
messageResult.setData(map);
|
|
@@ -522,13 +522,13 @@ public class PassengerApiController {
|
|
|
//班次信息
|
|
|
ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
|
|
- Map<String,Object> searchParams = new HashMap<>();
|
|
|
- searchParams.put("vehicleShiftId",shiftInfo.getId());
|
|
|
- searchParams.put("status","1");
|
|
|
- searchParams.put("payStatus","0");
|
|
|
+ Map<String, Object> searchParams = new HashMap<>();
|
|
|
+ searchParams.put("vehicleShiftId", shiftInfo.getId());
|
|
|
+ searchParams.put("status", "1");
|
|
|
+ searchParams.put("payStatus", "0");
|
|
|
List<Sort> sortList = new ArrayList<>();
|
|
|
- sortList.add(new Sort("up_time","desc"));
|
|
|
- Page<PassengerInfo> page = passengerInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
|
|
|
+ sortList.add(new Sort("up_time", "desc"));
|
|
|
+ Page<PassengerInfo> page = passengerInfoService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
|
|
|
|
|
|
|
|
|
messageResult.setData(PojoUtils.pageWrapper(page));
|
|
@@ -558,7 +558,7 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "goodsTicket", value = "货票金额", required = true, paramType = "form"),
|
|
|
@ApiImplicitParam(name = "totalFee", value = "总金额", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> createPassengerOrder(String id,String openId,String mergeOrderId,String passengerIds,String ticketUpStationId,String ticketDownStationId,String ticketType,String goodsTicket,String totalFee) {
|
|
|
+ public MessageResult<Map> createPassengerOrder(String id, String openId, String mergeOrderId, String passengerIds, String ticketUpStationId, String ticketDownStationId, String ticketType, String goodsTicket, String totalFee) {
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
@@ -575,7 +575,7 @@ public class PassengerApiController {
|
|
|
ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
|
|
|
|
|
- passengerInfoService.createOrder(vehicleInfo,shiftInfo,openId,mergeOrderId,passengerIds,ticketUpStationId,ticketDownStationId,ticketType,goodsTicket,totalFee);
|
|
|
+ passengerInfoService.createOrder(vehicleInfo, shiftInfo, openId, mergeOrderId, passengerIds, ticketUpStationId, ticketDownStationId, ticketType, goodsTicket, totalFee);
|
|
|
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
@@ -596,25 +596,25 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "id", value = "乘客id", required = true, paramType = "form"),
|
|
|
@ApiImplicitParam(name = "mergeOrderId", value = "综合账单id", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> deletePassengerOrder(String id,String mergeOrderId) {
|
|
|
+ public MessageResult<Map> deletePassengerOrder(String id, String mergeOrderId) {
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
MergeOrderInfo mergeOrderInfo = mergeOrderInfoService.get(mergeOrderId);
|
|
|
- if (mergeOrderInfo == null){
|
|
|
+ if (mergeOrderInfo == null) {
|
|
|
throw new Exception("账单不存在");
|
|
|
}
|
|
|
|
|
|
- if (mergeOrderInfo.getPayStatus() == 20){
|
|
|
+ if (mergeOrderInfo.getPayStatus() == 20) {
|
|
|
throw new Exception("已支付账单不可删除");
|
|
|
}
|
|
|
|
|
|
- OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id,mergeOrderId);
|
|
|
+ OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id, mergeOrderId);
|
|
|
|
|
|
- if (orderInfo != null){
|
|
|
- if (orderInfo.getPayStatus() == 20){
|
|
|
+ if (orderInfo != null) {
|
|
|
+ if (orderInfo.getPayStatus() == 20) {
|
|
|
throw new Exception("已支付账单不可删除");
|
|
|
}
|
|
|
orderInfo.setDelFlag(true);
|
|
@@ -622,7 +622,6 @@ public class PassengerApiController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
|
} catch (Exception ex) {
|
|
@@ -646,33 +645,168 @@ public class PassengerApiController {
|
|
|
@ApiImplicitParam(name = "goodsTicket", value = "货票金额", required = true, paramType = "form"),
|
|
|
@ApiImplicitParam(name = "totalFee", value = "总金额", required = true, paramType = "form")
|
|
|
})
|
|
|
- public MessageResult<Map> updatePassengerOrder(String id,String mergeOrderId,String ticketUpStationId,String ticketDownStationId,String ticketType,String goodsTicket,String totalFee) {
|
|
|
+ public MessageResult<Map> updatePassengerOrder(String id, String mergeOrderId, String ticketUpStationId, String ticketDownStationId, String ticketType, String goodsTicket, String totalFee) {
|
|
|
MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
MergeOrderInfo mergeOrderInfo = mergeOrderInfoService.get(mergeOrderId);
|
|
|
- if (mergeOrderInfo == null){
|
|
|
+ if (mergeOrderInfo == null) {
|
|
|
throw new Exception("账单不存在");
|
|
|
}
|
|
|
|
|
|
- if (mergeOrderInfo.getPayStatus() == 20){
|
|
|
+ if (mergeOrderInfo.getPayStatus() == 20) {
|
|
|
throw new Exception("已支付账单不可修改");
|
|
|
}
|
|
|
|
|
|
- OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id,mergeOrderId);
|
|
|
+ OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id, mergeOrderId);
|
|
|
|
|
|
- if (orderInfo != null){
|
|
|
- if (orderInfo.getPayStatus() == 20){
|
|
|
+ if (orderInfo != null) {
|
|
|
+ if (orderInfo.getPayStatus() == 20) {
|
|
|
throw new Exception("已支付账单不可修改");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- passengerInfoService.updatePassengerOrder(orderInfo,ticketUpStationId,ticketDownStationId,ticketType,goodsTicket,totalFee);
|
|
|
+ passengerInfoService.updatePassengerOrder(orderInfo, ticketUpStationId, ticketDownStationId, ticketType, goodsTicket, totalFee);
|
|
|
+
|
|
|
+
|
|
|
+ messageResult.setResult(true);
|
|
|
+ messageResult.setCode(200);
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.error(ex.getMessage());
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @PostMapping("passengerNearbyStation")
|
|
|
+ @ApiOperation(value = "乘客附近站点")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "longitude", value = "经度", required = true, paramType = "form"),
|
|
|
+ @ApiImplicitParam(name = "latitude", value = "纬度", required = true, paramType = "form")
|
|
|
+ })
|
|
|
+ public MessageResult<List<NearbyStationDTO>> passengerNearbyStation(String longitude, String latitude, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex,
|
|
|
+ @RequestParam(value = "pageSize", defaultValue = "5") int pageSize) {
|
|
|
+ MessageResult<List<NearbyStationDTO>> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ Double lo = Double.valueOf(longitude);
|
|
|
+ Double la = Double.valueOf(latitude);
|
|
|
+
|
|
|
+ Double maxLo = lo + 0.005D;
|
|
|
+ Double minLo = lo - 0.005D;
|
|
|
+ Double maxLa = la + 0.004D;
|
|
|
+ Double minLa = la - 0.004D;
|
|
|
|
|
|
|
|
|
+ Map<String, Object> searchParams = new HashMap<>();
|
|
|
+ searchParams.put("maxLongitude", maxLo);
|
|
|
+ searchParams.put("minLongitude", minLo);
|
|
|
+ searchParams.put("maxLatitude", maxLa);
|
|
|
+ searchParams.put("minLatitude", minLa);
|
|
|
|
|
|
+ List<Sort> sortList = new ArrayList<>();
|
|
|
+ sortList.add(new Sort("create_time", "desc"));
|
|
|
+
|
|
|
+ Page<StationInfo> page = stationInfoService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
|
|
|
+
|
|
|
+ List<StationInfo> stationInfoList = page.getResult();
|
|
|
+ List<NearbyStationDTO> nearbyStationDTOList = new ArrayList<>();
|
|
|
+ List<String> shiftIdList = new ArrayList<>();
|
|
|
+ if (stationInfoList.size() > 0) {
|
|
|
+ for (StationInfo stationInfo : stationInfoList) {
|
|
|
+
|
|
|
+ NearbyStationDTO nearbyStationDTO = new NearbyStationDTO();
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByRouteIdAndStatus(stationInfo.getRouteId(), "1");
|
|
|
+ if (shiftInfoList.size() > 0) {
|
|
|
+ if (shiftInfoList.size() == 1) {
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
+
|
|
|
+ if (!shiftIdList.contains(shiftInfo.getId())) {
|
|
|
+
|
|
|
+
|
|
|
+ //线路
|
|
|
+ RouteInfo routeInfo = routeInfoService.get(shiftInfo.getRouteId());
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(shiftInfo.getVehicleId());
|
|
|
+ //起始站
|
|
|
+ StationInfo startStation = stationInfoService.get(shiftInfo.getStartStationId());
|
|
|
+ //终点站
|
|
|
+ StationInfo endStation = stationInfoService.get(shiftInfo.getEndStationId());
|
|
|
+ //当前站
|
|
|
+ StationInfo currentStation = stationInfoService.get(shiftInfo.getCurrentStationId());
|
|
|
+ nearbyStationDTO.setStationName(stationInfo.getName());
|
|
|
+ List<NearbyShiftDTO> nearbyShiftDTOList = new ArrayList<>();
|
|
|
+ NearbyShiftDTO nearbyShiftDTO = new NearbyShiftDTO();
|
|
|
+ nearbyShiftDTO.setId(shiftInfo.getId());
|
|
|
+ nearbyShiftDTO.setRouteName(routeInfo.getName());
|
|
|
+ nearbyShiftDTO.setStartStationName(startStation.getName());
|
|
|
+ nearbyShiftDTO.setEndStationName(endStation.getName());
|
|
|
+ nearbyShiftDTO.setCurrentStationName(currentStation.getName());
|
|
|
+
|
|
|
+ //距离
|
|
|
+ GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(vehicleInfo.getLatitude()), Double.valueOf(vehicleInfo.getLongitude()));
|
|
|
+ GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(latitude), Double.valueOf(longitude));
|
|
|
+
|
|
|
+ double meter1 = CommonUtil.getDistanceMeter(source, target, Ellipsoid.Sphere);
|
|
|
+ nearbyShiftDTO.setDistance((new Double(meter1)).intValue());
|
|
|
+
|
|
|
+
|
|
|
+ nearbyShiftDTOList.add(nearbyShiftDTO);
|
|
|
+ nearbyStationDTO.setNearbyShiftDTOList(nearbyShiftDTOList);
|
|
|
+ nearbyStationDTOList.add(nearbyStationDTO);
|
|
|
+ shiftIdList.add(shiftInfo.getId());
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (ShiftInfo shiftInfo : shiftInfoList) {
|
|
|
+
|
|
|
+ if (!shiftIdList.contains(shiftInfo.getId())) {
|
|
|
+
|
|
|
+
|
|
|
+ //线路
|
|
|
+ RouteInfo routeInfo = routeInfoService.get(shiftInfo.getRouteId());
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(shiftInfo.getVehicleId());
|
|
|
+ //起始站
|
|
|
+ StationInfo startStation = stationInfoService.get(shiftInfo.getStartStationId());
|
|
|
+ //终点站
|
|
|
+ StationInfo endStation = stationInfoService.get(shiftInfo.getEndStationId());
|
|
|
+ //当前站
|
|
|
+ StationInfo currentStation = stationInfoService.get(shiftInfo.getCurrentStationId());
|
|
|
+ nearbyStationDTO.setStationName(stationInfo.getName());
|
|
|
+ List<NearbyShiftDTO> nearbyShiftDTOList = new ArrayList<>();
|
|
|
+ NearbyShiftDTO nearbyShiftDTO = new NearbyShiftDTO();
|
|
|
+ nearbyShiftDTO.setId(shiftInfo.getId());
|
|
|
+ nearbyShiftDTO.setRouteName(routeInfo.getName());
|
|
|
+ nearbyShiftDTO.setStartStationName(startStation.getName());
|
|
|
+ nearbyShiftDTO.setEndStationName(endStation.getName());
|
|
|
+ nearbyShiftDTO.setCurrentStationName(currentStation.getName());
|
|
|
+
|
|
|
+ //距离
|
|
|
+ GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(vehicleInfo.getLatitude()), Double.valueOf(vehicleInfo.getLongitude()));
|
|
|
+ GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(latitude), Double.valueOf(longitude));
|
|
|
+
|
|
|
+ double meter1 = CommonUtil.getDistanceMeter(source, target, Ellipsoid.Sphere);
|
|
|
+ nearbyShiftDTO.setDistance((new Double(meter1)).intValue());
|
|
|
+ nearbyShiftDTOList.add(nearbyShiftDTO);
|
|
|
+ nearbyStationDTO.setNearbyShiftDTOList(nearbyShiftDTOList);
|
|
|
+ nearbyStationDTOList.add(nearbyStationDTO);
|
|
|
+ shiftIdList.add(shiftInfo.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ messageResult.setData(nearbyStationDTOList);
|
|
|
messageResult.setResult(true);
|
|
|
messageResult.setCode(200);
|
|
|
} catch (Exception ex) {
|
|
@@ -685,4 +819,74 @@ public class PassengerApiController {
|
|
|
return messageResult;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @PostMapping("routeList")
|
|
|
+ @ApiOperation(value = "乘客查询线路列表")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "name", value = "线路名称", required = true, paramType = "form")
|
|
|
+ })
|
|
|
+ public MessageResult<Map> routeList(String name, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex,@RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ Map<String,Object> searchParams = new HashMap<>();
|
|
|
+ searchParams.put("name","%"+name+"%");
|
|
|
+ List<Sort> sortList = new ArrayList<>();
|
|
|
+ sortList.add(new Sort("create_time","desc"));
|
|
|
+ Page<RouteInfo> page = routeInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
|
|
|
+
|
|
|
+ messageResult.setData(PojoUtils.pageWrapper(page));
|
|
|
+ messageResult.setCode(200);
|
|
|
+ messageResult.setResult(true);
|
|
|
+
|
|
|
+
|
|
|
+ }catch (Exception ex){
|
|
|
+ log.error(ex.getMessage());
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("routeDetail")
|
|
|
+ @ApiOperation(value = "乘客查询线路详情")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "线路id", required = true, paramType = "form")
|
|
|
+ })
|
|
|
+ public MessageResult<Map> routeDetail(String id) {
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ RouteInfo routeInfo = routeInfoService.get(id);
|
|
|
+ if (routeInfo == null){
|
|
|
+ throw new Exception("线路不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<StationInfo> stationInfoList = stationInfoService.findByRouteId(id);
|
|
|
+
|
|
|
+
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("routeInfo",routeInfo);
|
|
|
+ map.put("stationInfoList",stationInfoList);
|
|
|
+
|
|
|
+
|
|
|
+ messageResult.setData(map);
|
|
|
+ messageResult.setCode(200);
|
|
|
+ messageResult.setResult(true);
|
|
|
+
|
|
|
+
|
|
|
+ }catch (Exception ex){
|
|
|
+ log.error(ex.getMessage());
|
|
|
+ messageResult.setCode(400);
|
|
|
+ messageResult.setResult(false);
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return messageResult;
|
|
|
+ }
|
|
|
+
|
|
|
}
|