|
@@ -2,15 +2,22 @@ package com.jpsoft.bus.modules.mobile.controller;
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.crypto.symmetric.DES;
|
|
import cn.hutool.crypto.symmetric.DES;
|
|
|
|
+import cn.hutool.db.sql.Order;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.github.pagehelper.Page;
|
|
import com.jpsoft.bus.config.OSSConfig;
|
|
import com.jpsoft.bus.config.OSSConfig;
|
|
|
|
+import com.jpsoft.bus.modules.base.dto.PassengerOrderDTO;
|
|
|
|
+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.PassengerDetailDTO;
|
|
|
|
+import com.jpsoft.bus.modules.bus.dto.VehicleStationDTO;
|
|
import com.jpsoft.bus.modules.bus.entity.*;
|
|
import com.jpsoft.bus.modules.bus.entity.*;
|
|
import com.jpsoft.bus.modules.bus.service.*;
|
|
import com.jpsoft.bus.modules.bus.service.*;
|
|
import com.jpsoft.bus.modules.common.dto.MessageResult;
|
|
import com.jpsoft.bus.modules.common.dto.MessageResult;
|
|
-import com.jpsoft.bus.modules.common.utils.DES3;
|
|
|
|
-import com.jpsoft.bus.modules.common.utils.JwtUtil;
|
|
|
|
-import com.jpsoft.bus.modules.common.utils.OSSUtil;
|
|
|
|
-import com.jpsoft.bus.modules.common.utils.SMSUtil;
|
|
|
|
|
|
+import com.jpsoft.bus.modules.common.dto.Sort;
|
|
|
|
+import com.jpsoft.bus.modules.common.utils.*;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
@@ -21,17 +28,12 @@ import org.joda.time.DateTime;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestAttribute;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import sun.security.krb5.internal.crypto.Des3;
|
|
import sun.security.krb5.internal.crypto.Des3;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.HashMap;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.*;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -53,6 +55,15 @@ public class PassengerApiController {
|
|
@Autowired
|
|
@Autowired
|
|
private BaiduService baiduService;
|
|
private BaiduService baiduService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private OrderInfoService orderInfoService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private PassengerInfoService passengerInfoService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private MergeOrderInfoService mergeOrderInfoService;
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private RedisTemplate redisTemplate;
|
|
private RedisTemplate redisTemplate;
|
|
|
|
|
|
@@ -86,6 +97,7 @@ public class PassengerApiController {
|
|
|
|
|
|
}catch (Exception ex){
|
|
}catch (Exception ex){
|
|
log.error(ex.getMessage(),ex);
|
|
log.error(ex.getMessage(),ex);
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
messageResult.setMessage(ex.getMessage());
|
|
messageResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
@@ -123,7 +135,9 @@ public class PassengerApiController {
|
|
messageResult.setResult(true);
|
|
messageResult.setResult(true);
|
|
messageResult.setCode(200);
|
|
messageResult.setCode(200);
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
|
|
+ log.error(ex.getMessage(),ex);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setMessage(ex.getMessage());
|
|
messageResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -181,16 +195,8 @@ public class PassengerApiController {
|
|
userId = userInfo.getId();
|
|
userId = userInfo.getId();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
token = JwtUtil.createToken(jwtSecret, String.valueOf(userId), DateTime.now().plusHours(6).toDate());
|
|
token = JwtUtil.createToken(jwtSecret, String.valueOf(userId), DateTime.now().plusHours(6).toDate());
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("token", token);
|
|
map.put("token", token);
|
|
map.put("userInfo", userInfo);
|
|
map.put("userInfo", userInfo);
|
|
@@ -200,6 +206,7 @@ public class PassengerApiController {
|
|
messageResult.setCode(200);
|
|
messageResult.setCode(200);
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
log.error(ex.getMessage());
|
|
log.error(ex.getMessage());
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
messageResult.setMessage(ex.getMessage());
|
|
messageResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
@@ -238,21 +245,70 @@ public class PassengerApiController {
|
|
//结束站点
|
|
//结束站点
|
|
StationInfo endStation = stationInfoService.get(shiftInfo.getEndStationId());
|
|
StationInfo endStation = stationInfoService.get(shiftInfo.getEndStationId());
|
|
|
|
|
|
|
|
+ //线路所有站点
|
|
|
|
+ List<StationInfo> stationInfoList = stationInfoService.findByRouteId(shiftInfo.getRouteId());
|
|
|
|
+
|
|
|
|
+ // List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo,stationInfoList);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("startStation",startStation.getName());
|
|
map.put("startStation",startStation.getName());
|
|
|
|
+ map.put("startStationId",startStation.getId());
|
|
|
|
+ map.put("startStationCoordinate",startStation.getLongitude() + "|" +startStation.getLatitude());
|
|
map.put("endStation",endStation.getName());
|
|
map.put("endStation",endStation.getName());
|
|
|
|
+ map.put("endStationId",endStation.getId());
|
|
|
|
+ map.put("endStationCoordinate",endStation.getLongitude() + "|" + endStation.getLatitude());
|
|
map.put("startTime",routeInfo.getStartTime());
|
|
map.put("startTime",routeInfo.getStartTime());
|
|
map.put("endTime",routeInfo.getEndTime());
|
|
map.put("endTime",routeInfo.getEndTime());
|
|
map.put("routeName",routeInfo.getName());
|
|
map.put("routeName",routeInfo.getName());
|
|
map.put("mapPath",routeInfo.getMapPath());
|
|
map.put("mapPath",routeInfo.getMapPath());
|
|
- map.put("longitude",vehicleInfo.getLongitude());
|
|
|
|
- map.put("latitude",vehicleInfo.getLatitude());
|
|
|
|
|
|
+ // map.put("stationList",vehicleStationDTOList);
|
|
messageResult.setData(map);
|
|
messageResult.setData(map);
|
|
messageResult.setResult(true);
|
|
messageResult.setResult(true);
|
|
messageResult.setCode(200);
|
|
messageResult.setCode(200);
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
log.error(ex.getMessage());
|
|
log.error(ex.getMessage());
|
|
|
|
+ messageResult.setCode(400);
|
|
|
|
+ messageResult.setResult(false);
|
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return messageResult;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @PostMapping("getVehicleStationInfo")
|
|
|
|
+ @ApiOperation(value = "获取车辆站点的位置")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
|
|
+ })
|
|
|
|
+ public MessageResult<List<VehicleStationDTO>> getVehicleStationInfo(String id) {
|
|
|
|
+ MessageResult<List<VehicleStationDTO>> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
+
|
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
|
+ throw new Exception("当前车辆没有正运行的班次");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //班次信息
|
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
+
|
|
|
|
+ //车辆信息
|
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
+
|
|
|
|
+ //线路所有站点
|
|
|
|
+ List<StationInfo> stationInfoList = stationInfoService.findByRouteId(shiftInfo.getRouteId());
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ List<VehicleStationDTO> vehicleStationDTOList = stationInfoService.getVehicleStationDTO(shiftInfo,stationInfoList);
|
|
|
|
+ messageResult.setData(vehicleStationDTOList);
|
|
|
|
+ messageResult.setResult(true);
|
|
|
|
+ messageResult.setCode(200);
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
+ log.error(ex.getMessage());
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
messageResult.setMessage(ex.getMessage());
|
|
messageResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
@@ -260,6 +316,127 @@ public class PassengerApiController {
|
|
return messageResult;
|
|
return messageResult;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ @PostMapping("getVehicleInfo")
|
|
|
|
+ @ApiOperation(value = "获取车辆的位置")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
|
|
+ })
|
|
|
|
+ public MessageResult<Map> getVehicleInfo(String id) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
+
|
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
|
+ throw new Exception("当前车辆没有正运行的班次");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //班次信息
|
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
+
|
|
|
|
+ //车辆信息
|
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("longitude", vehicleInfo.getLongitude());
|
|
|
|
+ map.put("latitude", vehicleInfo.getLatitude());
|
|
|
|
+ map.put("currentStationId",shiftInfo.getCurrentStationId());
|
|
|
|
+ messageResult.setData(map);
|
|
|
|
+ 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("getPassengerInfo")
|
|
|
|
+ @ApiOperation(value = "获取微信在当前车辆添加乘客信息")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @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) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
+
|
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
|
+ throw new Exception("当前车辆没有正运行的班次");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //班次信息
|
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
+
|
|
|
|
+ //车辆信息
|
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
+
|
|
|
|
+ String mergeOrderId = null;
|
|
|
|
+ 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());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("totalAmount", totalAmount);
|
|
|
|
+ map.put("list", passengerOrderDTOList);
|
|
|
|
+ map.put("id",mergeOrderId);
|
|
|
|
+ messageResult.setData(map);
|
|
|
|
+ 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("upload")
|
|
@PostMapping("upload")
|
|
@ApiOperation(value = "人员照片上传")
|
|
@ApiOperation(value = "人员照片上传")
|
|
@ApiImplicitParams({
|
|
@ApiImplicitParams({
|
|
@@ -280,6 +457,7 @@ public class PassengerApiController {
|
|
messageResult.setCode(200);
|
|
messageResult.setCode(200);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
log.error(e.getMessage(), e);
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
messageResult.setMessage(e.getMessage());
|
|
messageResult.setMessage(e.getMessage());
|
|
}
|
|
}
|
|
@@ -288,8 +466,8 @@ public class PassengerApiController {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- @PostMapping("matchFaceImage")
|
|
|
|
- @ApiOperation(value = "匹配照片")
|
|
|
|
|
|
+ @PostMapping("getMatchFaceImage")
|
|
|
|
+ @ApiOperation(value = "获取匹配度高的照片")
|
|
@ApiImplicitParams({
|
|
@ApiImplicitParams({
|
|
@ApiImplicitParam(name = "faceImageUrl", value = "人脸照片", required = true, paramType = "form"),
|
|
@ApiImplicitParam(name = "faceImageUrl", value = "人脸照片", required = true, paramType = "form"),
|
|
@ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
@ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
@@ -301,24 +479,109 @@ public class PassengerApiController {
|
|
//车辆
|
|
//车辆
|
|
VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
//人脸库id
|
|
//人脸库id
|
|
- String groupId = StrUtil.sub(vehicleInfo.getLicensePlateNumber(),1,-1);
|
|
|
|
|
|
+ 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("无匹配照片");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ messageResult.setData(map);
|
|
|
|
+ messageResult.setResult(true);
|
|
|
|
+ messageResult.setCode(200);
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
+ log.error(ex.getMessage());
|
|
|
|
+ messageResult.setCode(400);
|
|
|
|
+ messageResult.setResult(false);
|
|
|
|
+ messageResult.setMessage(ex.getMessage());
|
|
|
|
+ }
|
|
|
|
|
|
- // baiduService.faceSearch();
|
|
|
|
|
|
+ return messageResult;
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
+ @PostMapping("upBusNoTicketList")
|
|
|
|
+ @ApiOperation(value = "上传未购票乘客列表")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form")
|
|
|
|
+ })
|
|
|
|
+ public MessageResult<Map> upBusNoTicketList(String id, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex, @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
|
|
|
|
+ try {
|
|
|
|
+ //车辆
|
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
|
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
|
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
|
+ throw new Exception("当前车辆没有正运行的班次");
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ //班次信息
|
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(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);
|
|
|
|
|
|
|
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
|
- messageResult.setData(map);
|
|
|
|
|
|
+ messageResult.setData(PojoUtils.pageWrapper(page));
|
|
|
|
+ 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("createPassengerOrder")
|
|
|
|
+ @ApiOperation(value = "创建乘客订单")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @ApiImplicitParam(name = "id", value = "车辆id", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "openId", value = "购票人openId", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "mergeOrderId", value = "综合车票id", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "passengerIds", value = "乘客ids", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketUpStationId", value = "购票起站", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketDownStationId", value = "购票终点站", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketType", value = "购票类型(1:儿童票,2:成人票)", required = true, paramType = "form"),
|
|
|
|
+ @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) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ //车辆
|
|
|
|
+ VehicleInfo vehicleInfo = vehicleInfoService.get(id);
|
|
|
|
+
|
|
|
|
+ List<ShiftInfo> shiftInfoList = shiftInfoService.findByVehicleIdAndStatus(id, "1");
|
|
|
|
+
|
|
|
|
+ if (shiftInfoList.size() == 0) {
|
|
|
|
+ throw new Exception("当前车辆没有正运行的班次");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //班次信息
|
|
|
|
+ ShiftInfo shiftInfo = shiftInfoList.get(0);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ passengerInfoService.createOrder(vehicleInfo,shiftInfo,openId,mergeOrderId,passengerIds,ticketUpStationId,ticketDownStationId,ticketType,goodsTicket,totalFee);
|
|
|
|
+
|
|
messageResult.setResult(true);
|
|
messageResult.setResult(true);
|
|
messageResult.setCode(200);
|
|
messageResult.setCode(200);
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
log.error(ex.getMessage());
|
|
log.error(ex.getMessage());
|
|
|
|
+ messageResult.setCode(400);
|
|
messageResult.setResult(false);
|
|
messageResult.setResult(false);
|
|
messageResult.setMessage(ex.getMessage());
|
|
messageResult.setMessage(ex.getMessage());
|
|
}
|
|
}
|
|
@@ -327,4 +590,99 @@ public class PassengerApiController {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ @PostMapping("deletePassengerOrder")
|
|
|
|
+ @ApiOperation(value = "删除乘客订单")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @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) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ MergeOrderInfo mergeOrderInfo = mergeOrderInfoService.get(mergeOrderId);
|
|
|
|
+ if (mergeOrderInfo == null){
|
|
|
|
+ throw new Exception("账单不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (mergeOrderInfo.getPayStatus() == 20){
|
|
|
|
+ throw new Exception("已支付账单不可删除");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id,mergeOrderId);
|
|
|
|
+
|
|
|
|
+ if (orderInfo != null){
|
|
|
|
+ if (orderInfo.getPayStatus() == 20){
|
|
|
|
+ throw new Exception("已支付账单不可删除");
|
|
|
|
+ }
|
|
|
|
+ orderInfo.setDelFlag(true);
|
|
|
|
+ orderInfoService.update(orderInfo);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ 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("updatePassengerOrder")
|
|
|
|
+ @ApiOperation(value = "修改乘客订单")
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
+ @ApiImplicitParam(name = "id", value = "乘客id", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "mergeOrderId", value = "综合账单id", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketUpStationId", value = "购票起站", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketDownStationId", value = "购票终点站", required = true, paramType = "form"),
|
|
|
|
+ @ApiImplicitParam(name = "ticketType", value = "购票类型(1:儿童票,2:成人票)", required = true, paramType = "form"),
|
|
|
|
+ @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) {
|
|
|
|
+ MessageResult<Map> messageResult = new MessageResult<>();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ MergeOrderInfo mergeOrderInfo = mergeOrderInfoService.get(mergeOrderId);
|
|
|
|
+ if (mergeOrderInfo == null){
|
|
|
|
+ throw new Exception("账单不存在");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (mergeOrderInfo.getPayStatus() == 20){
|
|
|
|
+ throw new Exception("已支付账单不可修改");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ OrderInfo orderInfo = orderInfoService.findByPassengerIdMergeOrderId(id,mergeOrderId);
|
|
|
|
+
|
|
|
|
+ if (orderInfo != null){
|
|
|
|
+ if (orderInfo.getPayStatus() == 20){
|
|
|
|
+ throw new Exception("已支付账单不可修改");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 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;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|