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

修改订单相关

parent 420a6586
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
public interface OrderItem { public interface OrderDetail {
Integer getOrderId(); Integer getOrderId();
void setOrderId(Integer orderId); void setOrderId(Integer orderId);
......
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import javax.persistence.*; import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -12,15 +11,16 @@ import lombok.Data; ...@@ -12,15 +11,16 @@ import lombok.Data;
* *
* @author zjw * @author zjw
* @email nishijjo@qq.com * @email nishijjo@qq.com
* @date 2019-05-24 21:56:10 * @date 2019-05-27 15:13:55
*/ */
@Data @Data
@Table(name = "order_rent_vehicle_item") @Table(name = "order_rent_vehicle_detail")
public class OrderRentVehicleItem implements Serializable, OrderItem { public class OrderRentVehicleDetail implements Serializable, OrderDetail {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
//主键 //主键
@Id @Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键") @ApiModelProperty("主键")
private Integer id; private Integer id;
...@@ -28,8 +28,8 @@ public class OrderRentVehicleItem implements Serializable, OrderItem { ...@@ -28,8 +28,8 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@Column(name = "order_id") @Column(name = "order_id")
@ApiModelProperty(value = "基础订单id") @ApiModelProperty(value = "基础订单id")
private Integer orderId; private Integer orderId;
//创建时间 //创建时间
@Column(name = "crt_time") @Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true ) @ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime; private Long crtTime;
...@@ -69,14 +69,14 @@ public class OrderRentVehicleItem implements Serializable, OrderItem { ...@@ -69,14 +69,14 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@ApiModelProperty(value = "车辆id") @ApiModelProperty(value = "车辆id")
private Integer vehicleId; private Integer vehicleId;
//取车城市 //取车城市编号
@Column(name = "start_city") @Column(name = "start_city")
@ApiModelProperty(value = "取车城市") @ApiModelProperty(value = "取车城市编号")
private Integer startCity; private Integer startCity;
//还车城市 //还车城市编号
@Column(name = "end_city") @Column(name = "end_city")
@ApiModelProperty(value = "还车城市") @ApiModelProperty(value = "还车城市编号")
private Integer endCity; private Integer endCity;
//取车城市名称 //取车城市名称
...@@ -98,4 +98,21 @@ public class OrderRentVehicleItem implements Serializable, OrderItem { ...@@ -98,4 +98,21 @@ public class OrderRentVehicleItem implements Serializable, OrderItem {
@Column(name = "my_driver_ids") @Column(name = "my_driver_ids")
@ApiModelProperty(value = "自己司机ids") @ApiModelProperty(value = "自己司机ids")
private String myDriverIds; 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; ...@@ -8,5 +8,5 @@ import java.util.Map;
@Data @Data
public class OrderPageVO extends BaseOrder { public class OrderPageVO extends BaseOrder {
List<Map<String, Object>> orderItems; List<Map> orderItems;
} }
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import com.xxfc.platform.order.entity.BaseOrder; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.OrderRentVehicleItem; import java.util.List;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 租车订单详情 * 租车订单详情
...@@ -17,13 +16,12 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -17,13 +16,12 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2019-05-16 14:36:45 * @date 2019-05-16 14:36:45
*/ */
@Service @Service
public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleItemMapper, OrderRentVehicleItem> { public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, OrderRentVehicleDetail> {
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
@Transactional public List<OrderRentVehicleDetail> listByOrderId(Integer orderId) {
public void createOrder(OrderRentVehicleItem item) { return mapper.listByOrderId(orderId);
// mapper.select()
} }
} }
\ No newline at end of file
package com.xxfc.platform.order.mapper; 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 tk.mybatis.mapper.common.Mapper;
import java.util.List;
/** /**
* 租车订单详情 * 租车订单详情
* *
...@@ -10,6 +13,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -10,6 +13,7 @@ import tk.mybatis.mapper.common.Mapper;
* @email nishijjo@qq.com * @email nishijjo@qq.com
* @date 2019-05-16 14:36:45 * @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; ...@@ -3,16 +3,14 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController; import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz; 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.service.OrderRentVehicleService;
import com.xxfc.platform.order.vo.AddRentVehicleOrderVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller @Controller
@RequestMapping("orderRentVehicle") @RequestMapping("orderRentVehicle")
...@@ -28,8 +26,15 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -28,8 +26,15 @@ public class OrderRentVehicleController extends CommonBaseController {
@RequestMapping(value = "add",method = RequestMethod.POST) @RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "确认租车订单") @ApiOperation(value = "确认租车订单")
public ObjectRestResponse<OrderRentVehicleItem> add(@RequestBody OrderRentVehicleItem item){ public ObjectRestResponse<OrderRentVehicleDetail> add(@RequestBody AddRentVehicleOrderVO vo){
orderRentVehicleService.createOrder(item); orderRentVehicleService.createOrder(vo);
return new ObjectRestResponse<OrderRentVehicleItem>(); 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; ...@@ -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.biz.BaseOrderBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder; 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.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Transactional @Transactional
public abstract class AbstractOrderHandle<Biz extends BaseBiz, Item extends OrderItem>{ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends OrderDetail>{
@Autowired @Autowired
protected Biz itemBiz; protected Biz detailBiz;
@Autowired @Autowired
protected BaseOrderBiz baseOrderBiz; protected BaseOrderBiz baseOrderBiz;
...@@ -36,57 +34,57 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Item extends Orde ...@@ -36,57 +34,57 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Item extends Orde
else { else {
baseOrder.setType(orderTypeEnum.getCode()); baseOrder.setType(orderTypeEnum.getCode());
} }
baseOrderBiz.insertSelective(baseOrder);
return baseOrder; return baseOrder;
} }
/** /**
* 创建订单及其子项 * 创建订单及其子项
* @param item * @param detail
*/ */
public void createOrder(Item item) { public void createOrder(Detail detail) {
BaseOrder order = createOrder(); BaseOrder order = createOrder();
createOrderMakeUp(order,item); baseOrderBiz.insertSelective(order);
handleItem(item); createOrderMakeUp(order, detail);
} handleItem(detail);
}
/** /**
* 处理订单子项 * 处理订单子项
* @param item * @param detail
*/ */
public void handleItem(Item item){ public void handleItem(Detail detail){
itemBiz.insertSelective(item); detailBiz.insertSelective(detail);
} }
/** // /**
* 创建订单及其多子项 // * 创建订单及其多子项
* @param items // * @param details
*/ // */
public void createOrder(List<Item> items) { // public void createOrder(List<Detail> details) {
BaseOrder order = createOrder(); // BaseOrder order = createOrder();
for(Item item : items) { // for(Detail detail : details) {
createOrderMakeUp(order,item); // createOrderMakeUp(order, detail);
} // }
handleItem(items); // handleItem(details);
} // }
//
/** // /**
* 处理订单多子项 // * 处理订单多子项
* @param items // * @param details
*/ // */
public void handleItem(List<Item> items){ // public void handleItem(List<Detail> details){
for(Item item : items) { // for(Detail detail : details) {
itemBiz.insertSelective(item); // detailBiz.insertSelective(detail);
} // }
} // }
/** /**
* 子项补充处理 * 子项补充处理
* @param baseOrder * @param baseOrder
* @param item * @param detail
*/ */
void createOrderMakeUp(BaseOrder baseOrder, Item item){ void createOrderMakeUp(BaseOrder baseOrder, Detail detail){
item.setOrderId(baseOrder.getId()); detail.setOrderId(baseOrder.getId());
} }
......
...@@ -2,21 +2,18 @@ package com.xxfc.platform.order.service; ...@@ -2,21 +2,18 @@ package com.xxfc.platform.order.service;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz; import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; 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; import org.springframework.stereotype.Service;
@Service @Service
public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicleBiz, OrderRentVehicleItem> { public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicleBiz, OrderRentVehicleDetail> {
//确定订单为租车类型 //确定订单为租车类型
OrderTypeEnum orderTypeEnum = OrderTypeEnum.RentVehicle; OrderTypeEnum orderTypeEnum = OrderTypeEnum.RentVehicle;
// static {
// }
@Override @Override
public void handleItem(OrderRentVehicleItem item) { public void handleItem(OrderRentVehicleDetail item) {
//获取车辆 //获取可用车辆
//
super.handleItem(item); super.handleItem(item);
} }
} }
...@@ -26,9 +26,10 @@ ...@@ -26,9 +26,10 @@
<!-- </resultMap>--> <!-- </resultMap>-->
<resultMap type="com.xxfc.platform.order.vo.OrderPageVO" id="orderPageMap"> <resultMap type="com.xxfc.platform.order.vo.OrderPageVO" id="orderPageMap">
<result javaType="Integer" column="type" property="type"></result>
<discriminator javaType="Integer" column="type"> <discriminator javaType="Integer" column="type">
<case value="1" resultType="com.xxfc.platform.order.entity.OrderRentVehicleItem"> <case value="1" resultType="com.xxfc.platform.order.vo.OrderPageVO">
<collection column="orderId=id" javaType="ArrayList" ofType="com.xxfc.platform.universal.entity.MemberFamilyInfo" property="family" select="com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper.listByOrderId"></collection> <collection column="id" ofType="java.util.HashMap" property="orderItems" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.listByOrderId"></collection>
</case> </case>
</discriminator> </discriminator>
</resultMap> </resultMap>
......
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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 * select *
from order_rent_vehicle_item from order_rent_vehicle_item
where order_id = #{orderId} where order_id = #{orderId}
......
...@@ -3,10 +3,17 @@ package com.xxfc.platform.vehicle.vo; ...@@ -3,10 +3,17 @@ package com.xxfc.platform.vehicle.vo;
import lombok.Data; import lombok.Data;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import static java.time.LocalDateTime.ofEpochSecond;
@Data @Data
public class UsableVeicleDTO { public class UsableVeicleDTO {
public static final DateTimeFormatter DEFAULT_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Integer page; Integer page;
Integer limit; Integer limit;
Integer addrCity; Integer addrCity;
...@@ -14,8 +21,20 @@ public class UsableVeicleDTO { ...@@ -14,8 +21,20 @@ public class UsableVeicleDTO {
String lat; String lat;
String startDate; String startDate;
String endDate; String endDate;
Long startDateTamp;
Long endDateTamp;
String priceStart; String priceStart;
String priceEnd; String priceEnd;
String catasStr; String catasStr;
List<Integer> catas; 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