Commit 010b787f authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/dev' into dev2

parents 54f93ab8 fcd5017e
...@@ -8,8 +8,10 @@ import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; ...@@ -8,8 +8,10 @@ import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
...@@ -22,6 +24,8 @@ import com.xxfc.platform.order.pojo.mq.OrderMQDTO; ...@@ -22,6 +24,8 @@ import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.OrderListVo; import com.xxfc.platform.order.pojo.order.OrderListVo;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.order.pojo.order.QueryOrderDTO;
import com.xxfc.platform.order.rest.BaseOrderController;
import com.xxfc.platform.tour.feign.TourFeign; import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.dto.SendMsgDTO; import com.xxfc.platform.universal.dto.SendMsgDTO;
...@@ -34,6 +38,7 @@ import com.xxfc.platform.vehicle.entity.BranchCompany; ...@@ -34,6 +38,7 @@ import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense; import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -463,5 +468,21 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -463,5 +468,21 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
} }
} }
public Query initQuery(String no) {
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setNo(no);
qodd.setLimit(1);
qodd.setPage(1);
Query query = new Query(qodd);
return query;
}
/**
* 订单查询类
*/
@Data
public static class QueryOrderDetailDTO extends QueryOrderDTO {
private String no;
}
} }
\ No newline at end of file
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin; import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
...@@ -14,16 +16,21 @@ import com.github.wxiaoqi.security.common.util.Query; ...@@ -14,16 +16,21 @@ import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderItemBiz;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.OrderUserLicenseBiz; import com.xxfc.platform.order.biz.OrderUserLicenseBiz;
import com.xxfc.platform.order.pojo.order.OrderListVo; import com.xxfc.platform.order.contant.enumerate.ItemTypeEnum;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.entity.OrderItem;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.pojo.order.QueryOrderDTO; import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
import com.xxfc.platform.order.pojo.order.*;
import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleUserLicense; import com.xxfc.platform.vehicle.entity.VehicleUserLicense;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import com.xxfc.platform.vehicle.pojo.QueryMultiDTO; import com.xxfc.platform.vehicle.pojo.QueryMultiDTO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -31,14 +38,20 @@ import io.swagger.annotations.ApiOperation; ...@@ -31,14 +38,20 @@ import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mockito.internal.util.collections.Sets;
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.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.xxfc.platform.order.pojo.AddRentVehicleDTO.DEFAULT_DATE_TIME_FORMATTER;
@Controller @Controller
@RequestMapping("baseOrder") @RequestMapping("baseOrder")
@Api(value = "订单后台相关", tags = {"订单后台相关"}) @Api(value = "订单后台相关", tags = {"订单后台相关"})
...@@ -49,9 +62,18 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -49,9 +62,18 @@ public class BackStageOrderController extends CommonBaseController implements Us
@Autowired @Autowired
BaseOrderBiz baseOrderBiz; BaseOrderBiz baseOrderBiz;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired @Autowired
OrderUserLicenseBiz orderUserLicenseBiz; OrderUserLicenseBiz orderUserLicenseBiz;
@Autowired
OrderRentVehicleService orderRentVehicleService;
@Autowired
OrderItemBiz orderItemBiz;
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
...@@ -271,7 +293,31 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -271,7 +293,31 @@ public class BackStageOrderController extends CommonBaseController implements Us
@ResponseBody @ResponseBody
public ObjectRestResponse<OrderPageVO> changeVehicle(@RequestBody ChangeVehicleDTO dto) { public ObjectRestResponse<OrderPageVO> changeVehicle(@RequestBody ChangeVehicleDTO dto) {
checkAdminUser(); checkAdminUser();
//根据订单号获取 // //根据订单号获取订单
// //查询列表数据
// Query query = baseOrderBiz.initQuery(dto.getNo());
// PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
// OrderPageVO orderPageVO = page.getData().get(0);
// if(null == orderPageVO) {
// throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, Sets.newSet("订单不存在"));
// }
// //预约新的车辆
// RentVehicleBO bo = BeanUtil.toBean(orderPageVO.getOrderRentVehicleDetail(), RentVehicleBO.class);
// bo.setOrder(orderPageVO);
// bo.setBookVehicleVO(new BookVehicleVO(){{
// setBookStartDate(DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
// setBookEndDate(DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(bo.getStartTime()), ZoneOffset.ofHours(8))));
// }});
//
// List<OrderAccompanyDTO> oads = JSONUtil.toList(JSONUtil.parseArray(orderItemBiz.selectOne(new OrderItem(){{
// setOrderId(orderPageVO.getId());
// setType(ItemTypeEnum.ACCOMPANY.getCode());
// }}).getDetail()), OrderAccompanyDTO.class);
// bo.setAccompanyItems(oads);
// orderRentVehicleService.acquireVehicle(bo);
// //如果成功则取消旧车的预约
//
// orderRentVehicle
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
...@@ -55,7 +54,6 @@ import tk.mybatis.mapper.weekend.WeekendSqls; ...@@ -55,7 +54,6 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -87,9 +85,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -87,9 +85,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Resource
VehicleFeign vehicleFeign;
@Autowired @Autowired
RabbitProduct rabbitProduct; RabbitProduct rabbitProduct;
...@@ -198,7 +193,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -198,7 +193,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
checkAppUser(); checkAppUser();
//查询列表数据 //查询列表数据
Query query = initQuery(no); Query query = baseOrderBiz.initQuery(no);
PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper())); PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
if (page.getData().isEmpty()) { if (page.getData().isEmpty()) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
...@@ -212,16 +207,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -212,16 +207,6 @@ public class BaseOrderController extends CommonBaseController implements UserRes
return new ObjectRestResponse<>().data(page.getData().get(0)); return new ObjectRestResponse<>().data(page.getData().get(0));
} }
private Query initQuery(String no) {
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setNo(no);
qodd.setLimit(1);
qodd.setPage(1);
Query query = new Query(qodd);
return query;
}
@RequestMapping(value = "/pay", method = RequestMethod.POST) @RequestMapping(value = "/pay", method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "订单支付") @ApiOperation(value = "订单支付")
...@@ -307,16 +292,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes ...@@ -307,16 +292,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
return null; return null;
} }
/**
* 订单查询类
*/
@Data
public class QueryOrderDetailDTO extends QueryOrderDTO {
private String no;
}
@Data @Data
public class QueryOrderList extends QueryOrderDetailDTO { public class QueryOrderList extends BaseOrderBiz.QueryOrderDetailDTO {
private Long startTime; private Long startTime;
......
...@@ -412,7 +412,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -412,7 +412,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
vo.setCostDetail(result); vo.setCostDetail(result);
} }
private void acquireVehicle(RentVehicleBO detail) { public void acquireVehicle(RentVehicleBO detail) {
//根据车型、时间、距离,门店,预定车辆 //根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class); RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class);
rentVehicleBookDTO.setModelId(detail.getModelId()); rentVehicleBookDTO.setModelId(detail.getModelId());
......
...@@ -57,6 +57,9 @@ public class RentVehicleBookDTO extends PageParam { ...@@ -57,6 +57,9 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("订单号") @ApiModelProperty("订单号")
private String orderNo; private String orderNo;
@ApiModelProperty("停靠公司id")
Integer parkBranchCompanyId;
/** /**
* 随车物品id以及数量 List<Map<id,数量>> * 随车物品id以及数量 List<Map<id,数量>>
*/ */
......
...@@ -26,6 +26,10 @@ public class UsableVeicleDTO extends PageParam { ...@@ -26,6 +26,10 @@ public class UsableVeicleDTO extends PageParam {
String startDate; String startDate;
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
String endDate; String endDate;
@ApiModelProperty(hidden = true)
String startDateExtend;
@ApiModelProperty(hidden = true)
String endDateExtend;
@ApiModelProperty("开始时间戳") @ApiModelProperty("开始时间戳")
Long startDateTamp; Long startDateTamp;
@ApiModelProperty("结束时间戳") @ApiModelProperty("结束时间戳")
...@@ -39,13 +43,13 @@ public class UsableVeicleDTO extends PageParam { ...@@ -39,13 +43,13 @@ public class UsableVeicleDTO extends PageParam {
@ApiModelProperty(value = "分类列表", hidden = true) @ApiModelProperty(value = "分类列表", hidden = true)
Map<Integer, List<VehiclePlatCata>> catas; Map<Integer, List<VehiclePlatCata>> catas;
@ApiModelProperty("停靠公司") @ApiModelProperty("停靠公司")
String parkBranchCompanyId; Integer parkBranchCompanyId;
@ApiModelProperty("开始公司Id") @ApiModelProperty("开始公司Id")
String startCompanyId; Integer startCompanyId;
@ApiModelProperty("结束公司Id") @ApiModelProperty("结束公司Id")
String endCompanyId; Integer endCompanyId;
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
Boolean yearNo4Where; Boolean yearNo4Where;
...@@ -53,10 +57,12 @@ public class UsableVeicleDTO extends PageParam { ...@@ -53,10 +57,12 @@ public class UsableVeicleDTO extends PageParam {
public void setStartDateTamp(Long startDateTamp) { public void setStartDateTamp(Long startDateTamp) {
this.startDateTamp = startDateTamp; this.startDateTamp = startDateTamp;
this.startDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startDateTamp), ZoneOffset.ofHours(8))); this.startDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startDateTamp), ZoneOffset.ofHours(8)));
this.startDateExtend = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(startDateTamp), ZoneOffset.ofHours(8)).minusDays(1L));
} }
public void setEndDateTamp(Long endDateTamp) { public void setEndDateTamp(Long endDateTamp) {
this.endDateTamp = endDateTamp; this.endDateTamp = endDateTamp;
this.endDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8))); this.endDate = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8)));
this.endDateExtend = DEFAULT_DATE_TIME_FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(endDateTamp), ZoneOffset.ofHours(8)).plusDays(1L));
} }
} }
\ No newline at end of file
...@@ -1094,8 +1094,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -1094,8 +1094,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
List<String> notBookedDates = Lists.newArrayList(); List<String> notBookedDates = Lists.newArrayList();
if(StringUtils.isNotBlank(dto.getStartDate())&& if(StringUtils.isNotBlank(dto.getStartDate())&&
StringUtils.isNotBlank(dto.getEndDate())) { StringUtils.isNotBlank(dto.getEndDate())) {
notBookedDates = convertDatePeriod2List(dto.getStartDate(), notBookedDates = convertDatePeriod2List(dto.getStartDateExtend(),
dto.getEndDate()); dto.getEndDateExtend());
} }
//若传入预定信息查询条件,则查询对应月份预定信息查询条件(不超过3个月) //若传入预定信息查询条件,则查询对应月份预定信息查询条件(不超过3个月)
......
...@@ -167,6 +167,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -167,6 +167,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//BaseContextHandler.getName(); //BaseContextHandler.getName();
dto.setLimit(1); dto.setLimit(1);
dto.setPage(1); dto.setPage(1);
dto.setParkBranchCompanyId(dto.getLiftCompany());
//查询可车辆信息 //查询可车辆信息
PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto); PageDataVO<Vehicle> pageDataVO = vehicleBiz.searchUsableVehicle(dto);
if (pageDataVO.getData().size() <= 0) { if (pageDataVO.getData().size() <= 0) {
......
...@@ -655,7 +655,7 @@ ...@@ -655,7 +655,7 @@
, vbre.ret_company as to_lift_company , vbre.ret_company as to_lift_company
, vbrs.lift_company as to_return_company , vbrs.lift_company as to_return_company
from from
(select vehicle_id, max(if(book_end_date &lt; #{start_date_extend}, book_end_date, null)) as max_book_end_date, min(if(book_start_date &gt; #{end_date_extend}, book_start_date, null)) as min_book_start_date from vehicle_book_record where status != 4 and status != 6 group by vehicle_id) sevbr (select vehicle_id, max(if(book_end_date &lt; #{startDateExtend}, book_end_date, null)) as max_book_end_date, min(if(book_start_date &gt; #{endDateExtend}, book_start_date, null)) as min_book_start_date from vehicle_book_record where status != 4 and status != 6 group by vehicle_id) sevbr
left join vehicle_book_record vbre left join vehicle_book_record vbre
on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = vbre.book_end_date and vbre.status != 4 and vbre.status != 6 on sevbr.vehicle_id = vbre.vehicle_id and sevbr.max_book_end_date = vbre.book_end_date and vbre.status != 4 and vbre.status != 6
left join vehicle_book_record vbrs left join vehicle_book_record vbrs
......
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