Parcourir la source

司机端乘客信息

fllmoyu il y a 4 ans
Parent
commit
a2bcbb614a

+ 36 - 0
common/src/main/java/com/jpsoft/bus/modules/base/dto/PassengerOrderDTO.java

@@ -0,0 +1,36 @@
+package com.jpsoft.bus.modules.base.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 墨鱼_mo
+ * @date 2021-4-8 14:47
+ */
+@Data
+public class PassengerOrderDTO {
+
+    private String ticketType;
+
+    private String ticketTypeStr;
+
+    private BigDecimal goodsTicket;
+
+    private String payName;
+
+    private String payNameStr;
+
+    private BigDecimal totalFee;
+
+    public String getTicketTypeStr(String ticketType){
+        String ticketTypeStr = "";
+        if ("1".equals(ticketType)){
+            ticketTypeStr = "儿童票";
+        }
+        if ("2".equals(ticketType)){
+            ticketTypeStr = "成人票";
+        }
+        return ticketTypeStr;
+    }
+}

+ 18 - 0
common/src/main/java/com/jpsoft/bus/modules/base/entity/OrderInfo.java

@@ -66,4 +66,22 @@ public class OrderInfo {
     private BigDecimal goodsTicket = BigDecimal.ZERO;
     @ApiModelProperty(value = "综合账单id")
     private String mergeOrderId;
+
+
+    public String getPayNameStr(String payName){
+        String payNameStr = "";
+        if ("wechat".equals(payName)){
+            payNameStr = "微信";
+        }
+        if ("alipay".equals(payName)){
+            payNameStr = "支付宝";
+        }
+        if ("cash".equals(payName)){
+            payNameStr = "现金";
+        }
+        if ("ticket".equals(payName)){
+            payNameStr = "车票";
+        }
+        return payNameStr;
+    }
 }

+ 7 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/dto/PassengerDetailDTO.java

@@ -1,7 +1,11 @@
 package com.jpsoft.bus.modules.bus.dto;
 
+import com.jpsoft.bus.modules.base.dto.PassengerOrderDTO;
 import lombok.Data;
 
+import java.math.BigDecimal;
+import java.util.List;
+
 /**
  * @author 墨鱼_mo
  * @date 2021-4-8 11:33
@@ -25,6 +29,9 @@ public class PassengerDetailDTO {
 
     private String payStatusName;
 
+    private List<PassengerOrderDTO> passengerOrderDTOList;
+
+    private BigDecimal payFee;
 
 
 

+ 18 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/entity/PassengerInfo.java

@@ -66,4 +66,22 @@ public class PassengerInfo {
     @ApiModelProperty(value = "购票的下车站点")
     private String ticketDownStationId;
 
+
+    public String getPayStatusName(String payStatus){
+        String payStatusName = "";
+        if ("0".equals(payStatus)){
+            payStatusName = "未购票";
+        }
+        if ("1".equals(payStatus)){
+            payStatusName = "已购票";
+        }
+        if ("2".equals(payStatus)){
+            payStatusName = "已过站";
+        }
+        if ("3".equals(payStatus)){
+            payStatusName = "已补票";
+        }
+        return payStatusName;
+    }
+
 }

+ 0 - 2
common/src/main/java/com/jpsoft/bus/modules/common/utils/WechatMessageUtil.java

@@ -23,8 +23,6 @@ import java.util.regex.Pattern;
 @Component
 public class WechatMessageUtil {
 
-    @Autowired
-    private WeixinUtil weixinUtil;
 
     public static final String send_template = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";
 

+ 40 - 2
web/src/main/java/com/jpsoft/bus/modules/driver/controller/DriverApiController.java

@@ -4,8 +4,10 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.github.pagehelper.Page;
 import com.jpsoft.bus.config.OSSConfig;
+import com.jpsoft.bus.modules.base.dto.PassengerOrderDTO;
 import com.jpsoft.bus.modules.base.entity.OrderInfo;
 import com.jpsoft.bus.modules.base.service.OrderInfoService;
+import com.jpsoft.bus.modules.bus.dto.PassengerDetailDTO;
 import com.jpsoft.bus.modules.bus.dto.StationStatusDTO;
 import com.jpsoft.bus.modules.bus.entity.*;
 import com.jpsoft.bus.modules.bus.service.*;
@@ -28,6 +30,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
@@ -496,11 +499,12 @@ public class DriverApiController {
             @ApiImplicitParam(name = "subject", value = "目标(不传)", paramType = "form"),
             @ApiImplicitParam(name = "id", value = "乘客主id", required = true, paramType = "form")
     })
-    public MessageResult<Map> passengerInfo(String id,String token, @RequestAttribute String subject) {
-        MessageResult<Map> messageResult = new MessageResult<>();
+    public MessageResult<PassengerDetailDTO> passengerInfo(String id,String token, @RequestAttribute String subject) {
+        MessageResult<PassengerDetailDTO> messageResult = new MessageResult<>();
 
         try {
 
+            PassengerDetailDTO passengerDetailDTO = null;
             VehicleInfo vehicleInfo = vehicleInfoService.get(subject);
             if (vehicleInfo == null){
                 throw new Exception("当前车辆不存在");
@@ -511,9 +515,43 @@ public class DriverApiController {
             }
             List<OrderInfo> orderInfoList = orderInfoService.findByPassengerIdAndPayStatus(id,20);
 
+            if (orderInfoList.size()>0){
+                PassengerDetailDTO passengerDetailDTO1 = new PassengerDetailDTO();
+                passengerDetailDTO1.setId(id);
+                passengerDetailDTO1.setImageUrl(passengerInfo.getImageUrl());
+                passengerDetailDTO1.setTicketUpStationId(passengerInfo.getTicketUpStationId());
+                StationInfo upStationInfo = stationInfoService.get(passengerInfo.getTicketUpStationId());
+                passengerDetailDTO1.setTicketUpStationName(upStationInfo.getName());
+                passengerDetailDTO1.setTicketDownStationId(passengerInfo.getTicketDownStationId());
+
+                StationInfo downStationInfo = stationInfoService.get(passengerInfo.getTicketDownStationId());
+
+                passengerDetailDTO1.setTicketDownStationName(downStationInfo.getName());
+                passengerDetailDTO1.setPayStatus(passengerInfo.getPayStatus());
+                passengerDetailDTO1.setPayStatusName(passengerInfo.getPayStatusName(passengerInfo.getPayStatus()));
+                BigDecimal payFee = BigDecimal.ZERO;
+
+                List<PassengerOrderDTO> passengerOrderDTOList = new ArrayList<>();
+                for (OrderInfo orderInfo : orderInfoList){
+                    PassengerOrderDTO passengerOrderDTO = new PassengerOrderDTO();
+                    passengerOrderDTO.setTicketType(orderInfo.getTicketType());
+                    passengerOrderDTO.setGoodsTicket(orderInfo.getGoodsTicket());
+                    passengerOrderDTO.setPayName(orderInfo.getPayName());
+                    passengerOrderDTO.setPayNameStr(orderInfo.getPayNameStr(orderInfo.getPayName()));
+                    passengerOrderDTO.setTicketTypeStr(passengerOrderDTO.getTicketTypeStr(orderInfo.getTicketType()));
+                    passengerOrderDTO.setTotalFee(orderInfo.getTotalFee());
+                    passengerOrderDTOList.add(passengerOrderDTO);
+                    payFee = payFee.add(orderInfo.getPayFee());
+                }
+                passengerDetailDTO1.setPassengerOrderDTOList(passengerOrderDTOList);
+                passengerDetailDTO1.setPayFee(payFee);
+                passengerDetailDTO = passengerDetailDTO1;
+            }
+
 
 
 
+            messageResult.setData(passengerDetailDTO);
             messageResult.setResult(true);
             messageResult.setCode(200);
         } catch (Exception ex) {