yanliming 4 anni fa
parent
commit
7ffac5d533

+ 54 - 0
common/src/main/java/com/jpsoft/bus/modules/base/dto/OrderInfoDTO.java

@@ -0,0 +1,54 @@
+package com.jpsoft.bus.modules.base.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class OrderInfoDTO {
+
+    @ApiModelProperty(value = "")
+    private String id;
+
+    @ApiModelProperty(value = "账单金额")
+    private BigDecimal totalFee;
+    @ApiModelProperty(value = "商品描述")
+    private String body;
+    @ApiModelProperty(value = "支付状态(10:未支付,15:部分支付,20:支付完成,30:关闭,40:全额退款,45:部分退款)")
+    private Integer payStatus;
+    @ApiModelProperty(value = "支付方式(wechat:微信,alipay:支付宝,cash:现金,ticket:车票)")
+    private String payName;
+    @ApiModelProperty(value = "支付金额")
+    private BigDecimal payFee;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    @ApiModelProperty(value = "支付时间")
+    private Date payTime;
+    @ApiModelProperty(value = "系统订单号")
+    private String outOrderNo;
+    @ApiModelProperty(value = "微信支付订单号")
+    private String transactionId;
+
+    @ApiModelProperty(value = "司机名称")
+    private String driverName;
+
+    @ApiModelProperty(value = "车牌号")
+    private String licensePlateNumber;
+
+    @ApiModelProperty(value = "路线名称")
+    private String routeName;
+
+    @ApiModelProperty(value = "上车站点")
+    private String upStationName;
+
+    @ApiModelProperty(value = "下车站点")
+    private String downStationName;
+
+    @ApiModelProperty(value = "所属公司")
+    private String companyName;
+}

+ 22 - 3
common/src/main/resources/mapper/base/OrderInfo.xml

@@ -126,11 +126,30 @@
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="OrderInfoMap">
 		<![CDATA[
-			select * from base_order_info
+			select * from base_order_info a
+			left join bus_passenger_info b on a.passenger_id = b.id_
+			left join bus_shift_info c on b.vehicle_shift_id = c.id_
+			left join bus_driver_info d on c.driver_id = d.id_
+			left join bus_vehicle_info e on c.vehicle_id = e.id_
+			left join bus_route_info f on c.route_id = f.id_
+			left join bus_company_info g on e.company_id = g.id_
 		]]>
 		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			a.del_flag = false and b.del_flag = false and
+			c.del_flag = false and d.del_flag = false and
+			e.del_flag = false and f.del_flag = false and
+			g.del_flag = false
+			<if test="searchParams.companyId != null">
+				and g.id_ = #{searchParams.companyId}
+			</if>
+			<if test="searchParams.licensePlateNumber != null">
+				and e.license_plate_number like #{searchParams.licensePlateNumber}
+			</if>
+			<if test="searchParams.outOrderNo != null">
+				and a.out_order_no like #{searchParams.outOrderNo}
+			</if>
+			<if test="searchParams.transactionId != null">
+				and a.transaction_id like #{searchParams.transactionId}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 96 - 5
web/src/main/java/com/jpsoft/bus/modules/base/controller/OrderInfoController.java

@@ -1,6 +1,9 @@
 package com.jpsoft.bus.modules.base.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.bus.modules.base.dto.OrderInfoDTO;
+import com.jpsoft.bus.modules.bus.entity.*;
+import com.jpsoft.bus.modules.bus.service.*;
 import com.jpsoft.bus.modules.common.dto.MessageResult;
 import com.jpsoft.bus.modules.common.dto.Sort;
 import com.jpsoft.bus.modules.base.entity.OrderInfo;
@@ -31,6 +34,28 @@ public class OrderInfoController {
     @Autowired
     private OrderInfoService orderInfoService;
 
+    @Autowired
+    private PassengerInfoService passengerInfoService;
+
+    @Autowired
+    private ShiftInfoService shiftInfoService;
+
+    @Autowired
+    private DriverInfoService driverInfoService;
+
+    @Autowired
+    private VehicleInfoService vehicleInfoService;
+
+    @Autowired
+    private RouteInfoService routeInfoService;
+
+    @Autowired
+    private StationInfoService stationInfoService;
+
+    @Autowired
+    private CompanyInfoService companyInfoService;
+
+
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
     public MessageResult<OrderInfo> create(){
@@ -200,7 +225,7 @@ public class OrderInfoController {
     @ApiOperation(value="列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(
-            String id,
+            String companyId,String licensePlateNumber,String outOrderNo,String transactionId,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             @RequestAttribute String subject){
@@ -213,16 +238,82 @@ public class OrderInfoController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
+        sortList.add(new Sort("a.create_time","desc"));
+
+        if (StringUtils.isNotEmpty(companyId)) {
+            searchParams.put("companyId",companyId);
+        }
+
+        if (StringUtils.isNotEmpty(licensePlateNumber)) {
+            searchParams.put("licensePlateNumber","%"+licensePlateNumber+"%");
+        }
+
+        if (StringUtils.isNotEmpty(outOrderNo)) {
+            searchParams.put("outOrderNo","%"+outOrderNo+"%");
+        }
 
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+        if (StringUtils.isNotEmpty(transactionId)) {
+            searchParams.put("transactionId","%"+transactionId+"%");
         }
 
+
         Page<OrderInfo> page = orderInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
 
+        Page<OrderInfoDTO> pageDto = new Page<>();
+
+        for (OrderInfo orderInfo:page) {
+            OrderInfoDTO dto = new OrderInfoDTO();
+            dto.setId(orderInfo.getId());
+            dto.setTotalFee(orderInfo.getTotalFee());
+            dto.setBody(orderInfo.getBody());
+            dto.setPayFee(orderInfo.getPayFee());
+            dto.setPayStatus(orderInfo.getPayStatus());
+            dto.setPayName(orderInfo.getPayName());
+            dto.setPayTime(orderInfo.getPayTime());
+            dto.setOutOrderNo(orderInfo.getOutOrderNo());
+            dto.setTransactionId(orderInfo.getTransactionId());
+
+            PassengerInfo passengerInfo = passengerInfoService.get(orderInfo.getPassengerId());
+
+            if(passengerInfo!=null){
+                ShiftInfo shiftInfo = shiftInfoService.get(passengerInfo.getVehicleShiftId());
+                if(shiftInfo!=null){
+                    DriverInfo driverInfo = driverInfoService.get(shiftInfo.getDriverId().toString());
+                    if(driverInfo!=null){
+                        dto.setDriverName(driverInfo.getName());
+                    }
+                    VehicleInfo vehicleInfo = vehicleInfoService.get(shiftInfo.getVehicleId());
+                    if(vehicleInfo!=null){
+                        dto.setLicensePlateNumber(vehicleInfo.getLicensePlateNumber());
+                        CompanyInfo companyInfo = companyInfoService.get(vehicleInfo.getCompanyId());
+                        if(companyInfo!=null){
+                            dto.setCompanyName(companyInfo.getName());
+                        }
+                    }
+                    RouteInfo routeInfo = routeInfoService.get(shiftInfo.getRouteId());
+                    if(routeInfo!=null){
+                        dto.setRouteName(routeInfo.getName());
+                    }
+                    StationInfo upStation = stationInfoService.get(passengerInfo.getUpStationId());
+                    if(upStation!=null){
+                        dto.setUpStationName(upStation.getName());
+                    }
+                    StationInfo downStation = stationInfoService.get(passengerInfo.getDownStationId());
+                    if(downStation!=null){
+                        dto.setDownStationName(downStation.getName());
+                    }
+                }
+            }
+
+            pageDto.add(dto);
+        }
+
+        pageDto.setPageSize(page.getPageSize());
+        pageDto.setTotal(page.getTotal());
+        pageDto.setPageNum(page.getPageNum());
+
         msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(page));
+        msgResult.setData(PojoUtils.pageWrapper(pageDto));
 
         return msgResult;
     }