Commit 630aee3b authored by 周健威's avatar 周健威

修改订单相关

parent 420a6586
package com.xxfc.platform.order.entity;
public interface OrderItem {
public interface OrderDetail {
Integer getOrderId();
void setOrderId(Integer orderId);
......
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -12,15 +11,16 @@ import lombok.Data;
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-24 21:56:10
* @date 2019-05-27 15:13:55
*/
@Data
@Table(name = "order_rent_vehicle_item")
public class OrderRentVehicleItem implements Serializable, OrderItem {
@Table(name = "order_rent_vehicle_detail")
public class OrderRentVehicleDetail implements Serializable, OrderDetail {
private static final long serialVersionUID = 1L;
//主键
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
......@@ -28,8 +28,8 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@Column(name = "order_id")
@ApiModelProperty(value = "基础订单id")
private Integer orderId;
//创建时间
//创建时间
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
......@@ -69,14 +69,14 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@ApiModelProperty(value = "车辆id")
private Integer vehicleId;
//取车城市
//取车城市编号
@Column(name = "start_city")
@ApiModelProperty(value = "取车城市")
@ApiModelProperty(value = "取车城市编号")
private Integer startCity;
//还车城市
//还车城市编号
@Column(name = "end_city")
@ApiModelProperty(value = "还车城市")
@ApiModelProperty(value = "还车城市编号")
private Integer endCity;
//取车城市名称
......@@ -98,4 +98,21 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@Column(name = "my_driver_ids")
@ApiModelProperty(value = "自己司机ids")
private String myDriverIds;
//出发公司Id
@Column(name = "start_company_id")
@ApiModelProperty(value = "出发公司Id")
private Integer startCompanyId;
//结束公司Id
@Column(name = "end_company_id")
@ApiModelProperty(value = "结束公司Id")
private Integer endCompanyId;
//车型id
@Column(name = "model_id")
@ApiModelProperty(value = "车型id")
private Integer modelId;
}
package com.xxfc.platform.order.vo;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AddRentVehicleOrderVO extends OrderRentVehicleDetail {
//主键
@ApiModelProperty(hidden = true)
private Integer id;
}
......@@ -8,5 +8,5 @@ import java.util.Map;
@Data
public class OrderPageVO extends BaseOrder {
List<Map<String, Object>> orderItems;
List<Map> orderItems;
}
package com.xxfc.platform.order.biz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 租车订单详情
......@@ -17,13 +16,12 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2019-05-16 14:36:45
*/
@Service
public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleItemMapper, OrderRentVehicleItem> {
public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, OrderRentVehicleDetail> {
@Autowired
BaseOrderBiz baseOrderBiz;
@Transactional
public void createOrder(OrderRentVehicleItem item) {
// mapper.select()
public List<OrderRentVehicleDetail> listByOrderId(Integer orderId) {
return mapper.listByOrderId(orderId);
}
}
\ No newline at end of file
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
* 租车订单详情
*
......@@ -10,6 +13,7 @@ import tk.mybatis.mapper.common.Mapper;
* @email nishijjo@qq.com
* @date 2019-05-16 14:36:45
*/
public interface OrderRentVehicleItemMapper extends Mapper<OrderRentVehicleItem> {
public interface OrderRentVehicleDetailMapper extends Mapper<OrderRentVehicleDetail> {
public List<OrderRentVehicleDetail> listByOrderId(@Param("orderId") Integer orderId);
}
package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.vo.OrderPageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
@Controller
@RequestMapping("baseOrder")
@Api(value="订单",tags={"订单"})
public class BaseOrderController extends CommonBaseController {
@Autowired
BaseOrderBiz baseOrderBiz;
@RequestMapping(value = "/page",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "订单列表")
public ObjectRestResponse<PageDataVO<OrderPageVO>> list(@RequestParam(required = false) Map<String, Object> params){
//查询列表数据
Query query = new Query(params);
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(1, 10, baseOrderBiz.pageByParm()));
}
}
\ No newline at end of file
......@@ -3,16 +3,14 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.order.vo.AddRentVehicleOrderVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("orderRentVehicle")
......@@ -28,8 +26,15 @@ public class OrderRentVehicleController extends CommonBaseController {
@RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "确认租车订单")
public ObjectRestResponse<OrderRentVehicleItem> add(@RequestBody OrderRentVehicleItem item){
orderRentVehicleService.createOrder(item);
return new ObjectRestResponse<OrderRentVehicleItem>();
public ObjectRestResponse<OrderRentVehicleDetail> add(@RequestBody AddRentVehicleOrderVO vo){
orderRentVehicleService.createOrder(vo);
return new ObjectRestResponse<OrderRentVehicleDetail>();
}
@RequestMapping(value = "list-by-order/{orderId}",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "租车列表by订单Id")
public ObjectRestResponse<OrderRentVehicleDetail> listByOrder(@PathVariable("orderId") Integer orderId){
return new ObjectRestResponse<>().data(orderRentVehicleBiz.listByOrderId(orderId));
}
}
\ No newline at end of file
......@@ -7,17 +7,15 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.entity.OrderDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Transactional
public abstract class AbstractOrderHandle<Biz extends BaseBiz, Item extends OrderItem>{
public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends OrderDetail>{
@Autowired
protected Biz itemBiz;
protected Biz detailBiz;
@Autowired
protected BaseOrderBiz baseOrderBiz;
......@@ -36,57 +34,57 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Item extends Orde
else {
baseOrder.setType(orderTypeEnum.getCode());
}
baseOrderBiz.insertSelective(baseOrder);
return baseOrder;
}
/**
* 创建订单及其子项
* @param item
* @param detail
*/
public void createOrder(Item item) {
public void createOrder(Detail detail) {
BaseOrder order = createOrder();
createOrderMakeUp(order,item);
handleItem(item);
}
baseOrderBiz.insertSelective(order);
createOrderMakeUp(order, detail);
handleItem(detail);
}
/**
* 处理订单子项
* @param item
* @param detail
*/
public void handleItem(Item item){
itemBiz.insertSelective(item);
public void handleItem(Detail detail){
detailBiz.insertSelective(detail);
}
/**
* 创建订单及其多子项
* @param items
*/
public void createOrder(List<Item> items) {
BaseOrder order = createOrder();
for(Item item : items) {
createOrderMakeUp(order,item);
}
handleItem(items);
}
/**
* 处理订单多子项
* @param items
*/
public void handleItem(List<Item> items){
for(Item item : items) {
itemBiz.insertSelective(item);
}
}
// /**
// * 创建订单及其多子项
// * @param details
// */
// public void createOrder(List<Detail> details) {
// BaseOrder order = createOrder();
// for(Detail detail : details) {
// createOrderMakeUp(order, detail);
// }
// handleItem(details);
// }
//
// /**
// * 处理订单多子项
// * @param details
// */
// public void handleItem(List<Detail> details){
// for(Detail detail : details) {
// detailBiz.insertSelective(detail);
// }
// }
/**
* 子项补充处理
* @param baseOrder
* @param item
* @param detail
*/
void createOrderMakeUp(BaseOrder baseOrder, Item item){
item.setOrderId(baseOrder.getId());
void createOrderMakeUp(BaseOrder baseOrder, Detail detail){
detail.setOrderId(baseOrder.getId());
}
......
......@@ -2,21 +2,18 @@ package com.xxfc.platform.order.service;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import org.springframework.stereotype.Service;
@Service
public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicleBiz, OrderRentVehicleItem> {
public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicleBiz, OrderRentVehicleDetail> {
//确定订单为租车类型
OrderTypeEnum orderTypeEnum = OrderTypeEnum.RentVehicle;
// static {
// }
@Override
public void handleItem(OrderRentVehicleItem item) {
//获取车辆
//
public void handleItem(OrderRentVehicleDetail item) {
//获取可用车辆
super.handleItem(item);
}
}
......@@ -26,9 +26,10 @@
<!-- </resultMap>-->
<resultMap type="com.xxfc.platform.order.vo.OrderPageVO" id="orderPageMap">
<result javaType="Integer" column="type" property="type"></result>
<discriminator javaType="Integer" column="type">
<case value="1" resultType="com.xxfc.platform.order.entity.OrderRentVehicleItem">
<collection column="orderId=id" javaType="ArrayList" ofType="com.xxfc.platform.universal.entity.MemberFamilyInfo" property="family" select="com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper.listByOrderId"></collection>
<case value="1" resultType="com.xxfc.platform.order.vo.OrderPageVO">
<collection column="id" ofType="java.util.HashMap" property="orderItems" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.listByOrderId"></collection>
</case>
</discriminator>
</resultMap>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper">
<mapper namespace="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper">
<select id="listByOrderId" parameterType="Integer" resultType="com.xxfc.platform.order.entity.OrderRentVehicleItem">
<select id="listByOrderId" parameterType="Integer" resultType="com.xxfc.platform.order.entity.OrderRentVehicleDetail">
select *
from order_rent_vehicle_item
where order_id = #{orderId}
......
......@@ -3,10 +3,17 @@ package com.xxfc.platform.vehicle.vo;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.List;
import static java.time.LocalDateTime.ofEpochSecond;
@Data
public class UsableVeicleDTO {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Integer page;
Integer limit;
Integer addrCity;
......@@ -14,8 +21,20 @@ public class UsableVeicleDTO {
String lat;
String startDate;
String endDate;
Long startDateTamp;
Long endDateTamp;
String priceStart;
String priceEnd;
String catasStr;
List<Integer> catas;
public void setStartDateTamp(Long startDateTamp) {
this.startDateTamp = startDateTamp;
this.startDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofEpochSecond(startDateTamp, 0, ZoneOffset.ofHours(8)));
}
public void setEndDateTamp(Long endDateTamp) {
this.endDateTamp = endDateTamp;
this.endDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofEpochSecond(endDateTamp, 0, ZoneOffset.ofHours(8)));
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment