Commit c9ee400c authored by jiaorz's avatar jiaorz

Merge branch 'master-order-departure'

parents 59656693 5d803073
......@@ -136,4 +136,6 @@ public class OrderVehicleCrosstown {
private Integer orperaterId;
private String userLicenseImg;
private String checkUserInfo;
}
\ No newline at end of file
package com.xxfc.platform.order.pojo.order;
import lombok.Data;
@Data
public class CheckUserInfoDto {
private Integer id;
private String username;
private String telephone;
}
......@@ -39,4 +39,6 @@ public class OrderVehicleCrosstownDto extends OrderVehicleCrosstown {
List<DepositRefundRecord> depositRefundRecord;
}
......@@ -19,6 +19,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import com.xxfc.platform.order.pojo.order.CheckUserInfoDto;
import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto;
import com.xxfc.platform.universal.constant.DictionaryKey;
......@@ -203,6 +204,15 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
//添加验车人信息
JSONArray list = new JSONArray();
CheckUserInfoDto checkUserInfoDto = null;
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getCheckUserInfo())) {
checkUserInfoDto = JSONObject.parseObject(orderVehicleCrosstownDto.getCheckUserInfo(), CheckUserInfoDto.class);
if (checkUserInfoDto != null) {
list.add(checkUserInfoDto);
}
}
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
//调用车辆管理的出车还车
//出车
......@@ -212,21 +222,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo.setDepartureBranchCompanyId(orderRentVehicleDetail.getStartCompanyId());
vehicleDepartureVo.setExpectArrivalBranchCompanyId(orderRentVehicleDetail.getEndCompanyId());
vehicleDepartureVo.setMileage(orderVehicleCrosstownDto.getMileage());
if (appUserDTO != null) {
vehicleDepartureVo.setUser(appUserDTO.getNickname());
vehicleDepartureVo.setUserTel(appUserDTO.getUsername());
} else {
vehicleDepartureVo.setUser("APP用戶");
vehicleDepartureVo.setUserTel("13656235623");
}
vehicleDepartureVo.setUse("用户租车");
vehicleDepartureVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
vehicleDepartureVo.setCheckMan(userDTO.getName());
if(StringUtils.isNotBlank(orderVehicleCrosstownDto.getLicensePhone())) {
vehicleDepartureVo.setCheckManTel(orderVehicleCrosstownDto.getLicensePhone());
} else {
vehicleDepartureVo.setCheckManTel("13656235623");
if (checkUserInfoDto != null) {
vehicleDepartureVo.setCheckMan(checkUserInfoDto.getUsername());
vehicleDepartureVo.setCheckManTel(checkUserInfoDto.getTelephone());
}
try {
RestResponse restResponse = vehicleFeign.departureBySmall(vehicleDepartureVo);
log.error("返回信息: " + restResponse.toString());
......@@ -238,14 +239,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo.setVehicleId(orderRentVehicleDetail.getVehicleId());
vehicleArrivalVo.setArrivalBranchCompanyId(userDTO.getCompanyId());
vehicleArrivalVo.setMileage(orderVehicleCrosstownDto.getMileage());
vehicleArrivalVo.setRecycleMan(userDTO.getName());
vehicleArrivalVo.setRecycleManTel("13656235623");
vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
if (appUserDTO != null) {
vehicleArrivalVo.setRecycleManTel(appUserDTO.getUsername());
} else {
vehicleArrivalVo.setRecycleManTel("13565235623");
if (checkUserInfoDto != null) {
vehicleArrivalVo.setRecycleMan(checkUserInfoDto.getUsername());
vehicleArrivalVo.setRecycleManTel(checkUserInfoDto.getTelephone());
}
vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
try {
RestResponse restResponse = vehicleFeign.arrivalBySmall(vehicleArrivalVo);
log.info("返回信息: " + restResponse.toString());
......@@ -283,7 +281,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
orderVehicleCrosstownDto.setUserLicenseImg(orderVehicleCrosstownDto.getLicenseImg());
//扣除费用,每次都是重新计算
//扣除费用,每次都是重新计算
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
//出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
......@@ -295,6 +293,15 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金
return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!");
}
if(StringUtils.isNotBlank(oldValue.get(0).getCheckUserInfo())) {
JSONArray jsonArray = JSONArray.parseArray(oldValue.get(0).getCheckUserInfo());
if (jsonArray != null && checkUserInfoDto != null) {
jsonArray.add(checkUserInfoDto);
orderVehicleCrosstownDto.setCheckUserInfo(jsonArray.toJSONString());
}
} else {
orderVehicleCrosstownDto.setCheckUserInfo(list.toJSONString());
}
BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
getOrderLicense(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0), appUserDTO);
......@@ -312,6 +319,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金
return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!");
}
orderVehicleCrosstownDto.setCheckUserInfo(list.toJSONString());
getOrderLicense(orderVehicleCrosstownDto);
orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectOne(orderVehicleCrosstownDto);
......
......@@ -41,7 +41,7 @@ public class FeignHeadConfiguration {
* 遍历请求头里面的属性字段,将logId和token添加到新的请求头中转发到下游服务
* */
if ("Authorization".equalsIgnoreCase(name)) {
log.debug("添加自定义请求头key:" + name + ",value:" + value);
// log.debug("添加自定义请求头key:" + name + ",value:" + value);
requestTemplate.header(name, value);
} else {
//log.debug("FeignHeadConfiguration", "非自定义请求头key:" + name + ",value:" + value + "不需要添加!");
......
......@@ -11,7 +11,6 @@ import com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.constant.CommonConstants;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
......@@ -45,13 +44,16 @@ import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.admin.constant.enumerate.MemberEnum.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
import static com.xxfc.platform.order.contant.enumerate.ItemTypeEnum.*;
import static com.xxfc.platform.order.contant.enumerate.ItemTypeEnum.ACCOMPANY;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Service
......@@ -452,7 +454,6 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//根据车型、时间、距离,门店,预定车辆
RentVehicleBookDTO rentVehicleBookDTO = BeanUtil.toBean(detail.getBookVehicleVO(), RentVehicleBookDTO.class);
rentVehicleBookDTO.setModelId(detail.getModelId());
rentVehicleBookDTO.setUserName(BaseContextHandler.getName());
rentVehicleBookDTO.setLiftCompany(detail.getStartCompanyId());
rentVehicleBookDTO.setLiftAddr(detail.getStartAddr());
rentVehicleBookDTO.setRetCompany(detail.getEndCompanyId());
......@@ -462,6 +463,10 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rentVehicleBookDTO.setNumberPlate(numberPlate);
rentVehicleBookDTO.setStatus(status);
rentVehicleBookDTO.setUseType(detail.getUseType());
if (detail.getAppUserDTO() != null) {
rentVehicleBookDTO.setVehicleUserPhone(detail.getAppUserDTO().getUsername());
rentVehicleBookDTO.setVehicleUsername(detail.getAppUserDTO().getRealname());
}
if(null != detail.getAccompanyItems()) {
rentVehicleBookDTO.setSelectedAccItem(detail.getAccompanyItems().parallelStream().collect(Collectors.toMap(OrderAccompanyDTO::getId, OrderAccompanyDTO::getNum)));
......
......@@ -4,14 +4,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
import java.util.Map;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.DATE_TIME_LINE_FORMATTER;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.YMR_SLASH_FORMATTER;
@Data
......@@ -74,6 +69,11 @@ public class RentVehicleBookDTO extends PageParam {
@ApiModelProperty("用户名")
private String userName;
//使用人姓名
private String vehicleUsername;
//使用人电话
private String vehicleUserPhone;
@ApiModelProperty("订单号")
private String orderNo;
......
......@@ -10,7 +10,6 @@ import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
......@@ -66,11 +65,11 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
}
if (StringUtils.isBlank(departureVo.getCheckMan()) || StringUtils.isBlank(departureVo.getCheckManTel())) {
log.error("出车 核销人姓名不能为空!");
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
}
// if (StringUtils.isBlank(departureVo.getCheckMan()) || StringUtils.isBlank(departureVo.getCheckManTel())) {
// log.error("出车 核销人姓名不能为空!");
// throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
// ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
// }
if (vehicle.getStatus().equals(VehicleStatus.DISCARD.getCode()) || vehicle.getIsDel() == 1 || vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
throw new BaseException(ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getDesc(),
ResCode.VEHICLE_STATUS_IS_NOT_NORMAL.getCode());
......@@ -199,10 +198,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
}
if (StringUtils.isBlank(arrivalVo.getRecycleMan()) || StringUtils.isBlank(arrivalVo.getRecycleManTel())) {
throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
}
// if (StringUtils.isBlank(arrivalVo.getRecycleMan()) || StringUtils.isBlank(arrivalVo.getRecycleManTel())) {
// throw new BaseException(ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getDesc(),
// ResCode.CHECKUSER_AND_PHONE_NOT_NULL.getCode());
// }
// if (!vehicle.getStatus().equals(VehicleStatus.DEPARTURE.getCode())) {
// throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
// ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
......
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