Commit 94389010 authored by hanfeng's avatar hanfeng

Merge branch 'dev' of http://10.5.52.3/youjj/cloud-platform into dev2

parents 440590ce 29b083d8
...@@ -8,8 +8,8 @@ public class ResultCode { ...@@ -8,8 +8,8 @@ public class ResultCode {
////////////////////////////参数相关/////////////////////////// ////////////////////////////参数相关///////////////////////////
//参数非法,请修改 //参数非法,请修改
public static int PARAM_ILLEGAL_CODE = Integer.valueOf(SystemProperty.getResultConfig("PARAM_ILLEGAL_CODE")); public static int PARAM_ILLEGAL_CODE = Integer.valueOf(SystemProperty.getResultConfig("PARAM_ILLEGAL_CODE"));
//参数时效已过时,不能使用 //参数时效已过时,不能使用X
public static int PARAM_EXPIRE_CODE = Integer.valueOf(SystemProperty.getResultConfig("PARAM_EXPIRE_CODE")); public static int PARAM_EPIRE_CODE = Integer.valueOf(SystemProperty.getResultConfig("PARAM_EXPIRE_CODE"));
public static int VEHICLE_IS_BOOKED = Integer.valueOf(SystemProperty.getResultConfig("VEHICLE_IS_BOOKED")); public static int VEHICLE_IS_BOOKED = Integer.valueOf(SystemProperty.getResultConfig("VEHICLE_IS_BOOKED"));
// 操作成功 // 操作成功
public static int SUCCESS_CODE = Integer.valueOf(SystemProperty.getResultConfig("SUCCESS_CODE")); public static int SUCCESS_CODE = Integer.valueOf(SystemProperty.getResultConfig("SUCCESS_CODE"));
...@@ -24,6 +24,7 @@ public class ResultCode { ...@@ -24,6 +24,7 @@ public class ResultCode {
// 预定时间不能小于当前时间 // 预定时间不能小于当前时间
public static int ONLY_BOOK_FROM_TODAY = Integer.valueOf(SystemProperty.getResultConfig("ONLY_BOOK_FROM_TODAY")); public static int ONLY_BOOK_FROM_TODAY = Integer.valueOf(SystemProperty.getResultConfig("ONLY_BOOK_FROM_TODAY"));
public static int END_TIME_FROM_TODAY = Integer.valueOf(SystemProperty.getResultConfig("END_TIME_FROM_TODAY"));
// 只能预定两个月内的车辆 // 只能预定两个月内的车辆
public static int ONLY_BOOK_TWO_MONTH = Integer.valueOf(SystemProperty.getResultConfig("ONLY_BOOK_TWO_MONTH")); public static int ONLY_BOOK_TWO_MONTH = Integer.valueOf(SystemProperty.getResultConfig("ONLY_BOOK_TWO_MONTH"));
......
...@@ -248,3 +248,6 @@ RET_COMPANY_CAN_NOT_BE_NULL = 4018 ...@@ -248,3 +248,6 @@ RET_COMPANY_CAN_NOT_BE_NULL = 4018
NUMBER_PLAT_CAN_NOT_BE_NULL = 4019 NUMBER_PLAT_CAN_NOT_BE_NULL = 4019
4019 = 车牌不能为空 4019 = 车牌不能为空
END_TIME_FROM_TODAY = 4020
4020 = 结束时间不能小于开始时间
\ No newline at end of file
...@@ -21,6 +21,7 @@ import javax.annotation.Resource; ...@@ -21,6 +21,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.lang.reflect.Parameter; import java.lang.reflect.Parameter;
import java.util.Objects;
/** /**
* @author libin * @author libin
...@@ -72,7 +73,11 @@ public class TokenAop { ...@@ -72,7 +73,11 @@ public class TokenAop {
args[i]= new AppUserDTO(); args[i]= new AppUserDTO();
break; break;
} }
args[i]= userFeign.userDetailByToken(token).getData(); AppUserDTO userDTO = userFeign.userDetailByToken(token).getData();
if (Objects.isNull(userDTO)){
userDTO = new AppUserDTO();
}
args[i]= userDTO;
break; break;
} }
if (UserDTO.class.equals(parameter.getType())){ if (UserDTO.class.equals(parameter.getType())){
......
...@@ -166,22 +166,31 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> { ...@@ -166,22 +166,31 @@ public class UserCouponBiz extends BaseBiz<UserCouponMapper, UserCoupon> {
} }
UserCouponVo userCouponVo=null; UserCouponVo userCouponVo=null;
if (list2.size()>0){ if (list2.size()>0){
list2.sort(Comparator.comparing(UserCouponVo::getStatus));
userCouponVo=list2.get(0); userCouponVo=list2.get(0);
if (userCouponVo!=null){ if (userCouponVo!=null){
userCouponVo.setIsChecked(1); userCouponVo.setIsChecked(1);
list2.set(0,userCouponVo); list2.set(0,userCouponVo);
} }
list2.sort(Comparator.comparing(UserCouponVo::getStatus));
} }
if (list1.size()>0){ if (list1.size()>0){
list1.sort(Comparator.comparing(UserCouponVo::getStatus));
if (userCouponVo==null){ if (userCouponVo==null){
userCouponVo=list1.get(0); int num=0;
for (UserCouponVo couponVo:list1) {
if (couponVo.getStatus()==1){
userCouponVo=couponVo;
break;
}
num++;
}
if (userCouponVo!=null){ if (userCouponVo!=null){
userCouponVo.setIsChecked(1); userCouponVo.setIsChecked(1);
list1.set(0,userCouponVo); list1.set(num,userCouponVo);
} }
} }
list1.sort(Comparator.comparing(UserCouponVo::getStatus));
} }
JSONArray array = new JSONArray(); JSONArray array = new JSONArray();
JSONObject object=new JSONObject(); JSONObject object=new JSONObject();
......
package com.xxfc.platform.order.entity; package com.xxfc.platform.order.entity;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.xxfc.platform.tour.entity.TourUser;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -245,5 +246,5 @@ public class OrderTourDetail implements Serializable { ...@@ -245,5 +246,5 @@ public class OrderTourDetail implements Serializable {
private Integer isOutside; private Integer isOutside;
@Transient @Transient
private List<AppUserVo> userVoList; private List<TourUser> userVoList;
} }
...@@ -26,6 +26,7 @@ import com.xxfc.platform.order.pojo.order.OrderPageVO; ...@@ -26,6 +26,7 @@ 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.pojo.order.QueryOrderDTO;
import com.xxfc.platform.order.rest.BaseOrderController; import com.xxfc.platform.order.rest.BaseOrderController;
import com.xxfc.platform.tour.entity.TourUser;
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;
...@@ -179,18 +180,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -179,18 +180,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
orderPageVo.setVehicalNumberPlat(response.getData().getNumberPlate()); orderPageVo.setVehicalNumberPlat(response.getData().getNumberPlate());
} }
} else if (orderPageVo.getOrderTourDetail() != null) { } else if (orderPageVo.getOrderTourDetail() != null) {
List<Integer> ids = Lists.newArrayList(); if(StringUtils.isNotBlank(orderPageVo.getOrderTourDetail().getTourUserIds())) {
if (orderPageVo.getOrderTourDetail().getTourUserIds().contains(",")) { List<TourUser> list = tourFeign.getTourUsers(orderPageVo.getOrderTourDetail().getTourUserIds()).getData();
String[] strings = orderPageVo.getOrderTourDetail().getTourUserIds().split(",");
for (int i = 0; i < strings.length; i++) {
ids.add(Integer.parseInt(StringUtils.isNotBlank(strings[i]) ? strings[i] : "0"));
}
} else {
ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds()));
}
List<AppUserVo> list = userFeign.getByUserIds(ids).getData();
orderPageVo.getOrderTourDetail().setUserVoList(list == null || list.size() <= 0 ? new ArrayList<>() : list); orderPageVo.getOrderTourDetail().setUserVoList(list == null || list.size() <= 0 ? new ArrayList<>() : list);
} }
}
//设置保留金 //设置保留金
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ILLEGAL_RESERVE).getDetail()); BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ILLEGAL_RESERVE).getDetail());
...@@ -268,19 +262,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> { ...@@ -268,19 +262,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
orderPageVo.setVehicalNumberPlat(restResponse.getData().getNumberPlate()); orderPageVo.setVehicalNumberPlat(restResponse.getData().getNumberPlate());
} }
} else if (orderPageVo.getOrderTourDetail() != null) { } else if (orderPageVo.getOrderTourDetail() != null) {
List<Integer> ids = Lists.newArrayList(); if(StringUtils.isNotBlank(orderPageVo.getOrderTourDetail().getTourUserIds())) {
if (orderPageVo.getOrderTourDetail().getTourUserIds().contains(",")) { List<TourUser> list = tourFeign.getTourUsers(orderPageVo.getOrderTourDetail().getTourUserIds()).getData();
String[] strings = orderPageVo.getOrderTourDetail().getTourUserIds().split(",");
for (int i = 0; i < strings.length; i++) {
ids.add(Integer.parseInt(StringUtils.isNotBlank(strings[i]) ? strings[i] : "0"));
}
} else {
ids.add(Integer.parseInt(orderPageVo.getOrderTourDetail().getTourUserIds()));
}
List<AppUserVo> list = userFeign.getByUserIds(ids).getData();
orderPageVo.getOrderTourDetail().setUserVoList(list == null || list.size() <= 0 ? new ArrayList<>() : list); orderPageVo.getOrderTourDetail().setUserVoList(list == null || list.size() <= 0 ? new ArrayList<>() : list);
} }
}
//设置保留金 //设置保留金
Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData(); Map<String, Dictionary> dictionaryMap = thirdFeign.dictionaryGetAll4Map().getData();
BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ILLEGAL_RESERVE).getDetail()); BigDecimal illegalReserve = new BigDecimal(dictionaryMap.get(APP_ORDER + "_" + DictionaryKey.ILLEGAL_RESERVE).getDetail());
......
...@@ -16,6 +16,10 @@ import com.xxfc.platform.vehicle.entity.BranchCompany; ...@@ -16,6 +16,10 @@ import com.xxfc.platform.vehicle.entity.BranchCompany;
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 java.time.Instant;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -89,7 +93,7 @@ public class OrderTourVerificationBiz{ ...@@ -89,7 +93,7 @@ public class OrderTourVerificationBiz{
} }
// 出发时间 是否已经发车 // 出发时间 是否已经发车
/* Date departureDate = tourFeign.selectDepartureDataBySpeId(tourDetail.getSpePriceId()); Date departureDate = tourFeign.selectDepartureDataBySpeId(tourDetail.getSpePriceId());
Long departureTime = tourFeign.selectDepartureTimeByStartCompanyIdAndRouteId(tourDetail.getStartCompanyId(), tourDetail.getGoodId()); Long departureTime = tourFeign.selectDepartureTimeByStartCompanyIdAndRouteId(tourDetail.getStartCompanyId(), tourDetail.getGoodId());
Integer departureStatus = tourFeign.selectDepartureStatusByVerificationId(verificationId); Integer departureStatus = tourFeign.selectDepartureStatusByVerificationId(verificationId);
LocalTime localDepartureTime = LocalTime.ofSecondOfDay(departureTime); LocalTime localDepartureTime = LocalTime.ofSecondOfDay(departureTime);
...@@ -110,7 +114,7 @@ public class OrderTourVerificationBiz{ ...@@ -110,7 +114,7 @@ public class OrderTourVerificationBiz{
if (departureStatus==1){ if (departureStatus==1){
return ObjectRestResponse.createFailedResultWithObj(400,"已经发车",1); return ObjectRestResponse.createFailedResultWithObj(400,"已经发车",1);
}*/ }
baseOrder=new BaseOrder(); baseOrder=new BaseOrder();
......
...@@ -25,6 +25,8 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail; ...@@ -25,6 +25,8 @@ import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.pojo.OrderAccompanyDTO; import com.xxfc.platform.order.pojo.OrderAccompanyDTO;
import com.xxfc.platform.order.pojo.order.*; import com.xxfc.platform.order.pojo.order.*;
import com.xxfc.platform.order.service.OrderRentVehicleService; import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.BranchCompany; import com.xxfc.platform.vehicle.entity.BranchCompany;
...@@ -78,6 +80,9 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -78,6 +80,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
@Autowired @Autowired
UserFeign userFeign; UserFeign userFeign;
@Autowired
TourFeign tourFeign;
@Resource @Resource
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
...@@ -180,10 +185,9 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -180,10 +185,9 @@ public class BackStageOrderController extends CommonBaseController implements Us
if (startResponse.getData() != null) { if (startResponse.getData() != null) {
orderPageVO.setStartCompanyName(startResponse.getData().getName()); orderPageVO.setStartCompanyName(startResponse.getData().getName());
} }
List<Integer> tourUserIds = Arrays.asList(orderPageVO.getOrderTourDetail().getTourUserIds().split(",")).parallelStream().map(s -> Integer.valueOf(s.trim())).collect(Collectors.toList()); if(StringUtils.isNotBlank(orderPageVO.getOrderTourDetail().getTourUserIds())) {
ObjectRestResponse<List<AppUserVo>> users = userFeign.getByUserIds(tourUserIds); List<TourUser> tourUsers = tourFeign.getTourUsers(orderPageVO.getOrderTourDetail().getTourUserIds()).getData();
if (users.getData() != null) { orderPageVO.getOrderTourDetail().setUserVoList(tourUsers == null || tourUsers.size() <= 0 ? new ArrayList<>() : tourUsers);
orderPageVO.getOrderTourDetail().setUserVoList(users.getData() == null? users.getData() : new ArrayList<>());
} }
} }
......
...@@ -239,7 +239,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -239,7 +239,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//如果用户存在,并且为会员,并且车辆有优惠价 //如果用户存在,并且为会员,并且车辆有优惠价
if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) { if(null != dto && null != detail.getRentFreeDay() && detail.getRentFreeDay() > 0 ) {
if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) { if(null == dto.getRentFreeDays() || dto.getRentFreeDays() <= 0) {
throw new BaseException(ResultCode.PARAM_EXPIRE_CODE, new HashSet<String>() {{ throw new BaseException(ResultCode.PARAM_EPIRE_CODE, new HashSet<String>() {{
add("免费租车天数不存在或为0"); add("免费租车天数不存在或为0");
}}); }});
} }
......
...@@ -35,6 +35,7 @@ import com.xxfc.platform.vehicle.entity.SysRegion; ...@@ -35,6 +35,7 @@ import com.xxfc.platform.vehicle.entity.SysRegion;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.CompanyDetail; import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import lombok.extern.log4j.Log4j; import lombok.extern.log4j.Log4j;
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.Service; import org.springframework.stereotype.Service;
...@@ -47,7 +48,7 @@ import java.util.HashSet; ...@@ -47,7 +48,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE; import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Service @Service
...@@ -135,8 +136,18 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -135,8 +136,18 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
setSiteId(bo.getSiteId()); setSiteId(bo.getSiteId());
}})).getData().get(0).getId()); }})).getData().get(0).getId());
Integer departureStatus = tourFeign.selectDepartureStatusByVerificationId(bo.getVerificationId());
//1为已发车
if(!SYS_FALSE.equals(departureStatus)) {
throw new BaseException(ResultCode.PARAM_EPIRE_CODE, Sets.newSet("旅程已发车,不能下单"));
}
//扣減庫存 //扣減庫存
tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber(), TourFeign.STOCK_SUBTRACT); ObjectRestResponse<TourSpePriceVo> response = tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber(), TourFeign.STOCK_SUBTRACT);
if(!SYS_JSON_TRUE.equals(response.getStatus())) {
throw new BaseException(ResultCode.PARAM_EPIRE_CODE, Sets.newSet("库存不足"));
}
OrderItem tourAdultItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT); OrderItem tourAdultItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_ADULT);
OrderItem tourChildItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD); OrderItem tourChildItem = bo.getItemByTypeEnum(ItemTypeEnum.TOUR_CHILD);
......
...@@ -87,7 +87,7 @@ public class VehicleDepartureLog { ...@@ -87,7 +87,7 @@ public class VehicleDepartureLog {
/** /**
* 预约记录id * 预约记录id
*/ */
Integer bookRecordId; Long bookRecordId;
//违章图片,逗号分隔 //违章图片,逗号分隔
String illegalPic; String illegalPic;
//违章金额 //违章金额
......
...@@ -38,6 +38,6 @@ public class VehicleArrivalVo { ...@@ -38,6 +38,6 @@ public class VehicleArrivalVo {
//违章金额 //违章金额
Integer illegalAmount; Integer illegalAmount;
Integer bookRecordId; Long bookRecordId;
} }
...@@ -48,7 +48,7 @@ public class VehicleDepartureVo { ...@@ -48,7 +48,7 @@ public class VehicleDepartureVo {
/** /**
* 预约记录id * 预约记录id
*/ */
Integer bookRecordId; Long bookRecordId;
//出车图片 //出车图片
String departurePic; String departurePic;
......
...@@ -3,11 +3,8 @@ package com.xxfc.platform.vehicle.biz; ...@@ -3,11 +3,8 @@ package com.xxfc.platform.vehicle.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.xxfc.platform.vehicle.constant.BookType; import com.xxfc.platform.vehicle.constant.*;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode; import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleActiveType;
import com.xxfc.platform.vehicle.constant.VehicleDepartureState;
import com.xxfc.platform.vehicle.constant.VehicleStatus;
import com.xxfc.platform.vehicle.entity.*; import com.xxfc.platform.vehicle.entity.*;
import com.xxfc.platform.vehicle.mapper.*; import com.xxfc.platform.vehicle.mapper.*;
import com.xxfc.platform.vehicle.pojo.*; import com.xxfc.platform.vehicle.pojo.*;
...@@ -104,6 +101,7 @@ public class VehicleActiveService { ...@@ -104,6 +101,7 @@ public class VehicleActiveService {
departureLog.setState(VehicleDepartureState.DEPARTURE.getCode()); departureLog.setState(VehicleDepartureState.DEPARTURE.getCode());
departureLog.setDepartureRemark(departureVo.getRemark()); departureLog.setDepartureRemark(departureVo.getRemark());
if(vehicleBookRecord != null) { if(vehicleBookRecord != null) {
departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getLiftCompany());
departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType())); departureLog.setUse(BookType.getByCode(vehicleBookRecord.getBookType()));
departureLog.setUser(vehicleBookRecord.getVehicleUsername()); departureLog.setUser(vehicleBookRecord.getVehicleUsername());
departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone()); departureLog.setUserTel(vehicleBookRecord.getVehicleUserPhone());
...@@ -207,9 +205,9 @@ public class VehicleActiveService { ...@@ -207,9 +205,9 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getDesc(),
ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode()); ResCode.VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE.getCode());
} }
VehicleBookRecord vehicleBookRecord = null;
if(arrivalVo.getBookRecordId() != null) { if(arrivalVo.getBookRecordId() != null) {
VehicleBookRecord vehicleBookRecord = vehicleBookRecordBiz.selectById(arrivalVo.getBookRecordId()); vehicleBookRecord = vehicleBookRecordBiz.selectById(arrivalVo.getBookRecordId());
updateBookRecordStatus(vehicleBookRecord, 2); updateBookRecordStatus(vehicleBookRecord, 2);
} }
...@@ -231,6 +229,9 @@ public class VehicleActiveService { ...@@ -231,6 +229,9 @@ public class VehicleActiveService {
departureLog.setIllegalAmount(arrivalVo.getIllegalAmount()); departureLog.setIllegalAmount(arrivalVo.getIllegalAmount());
departureLog.setArrivalPic(arrivalVo.getArrivalPic()); departureLog.setArrivalPic(arrivalVo.getArrivalPic());
departureLog.setArrivalRemark(arrivalVo.getRemark()); departureLog.setArrivalRemark(arrivalVo.getRemark());
if(vehicleBookRecord != null) {
departureLog.setDepartureBranchCompanyId(vehicleBookRecord.getRetCompany());
}
vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog); vehicleDepartureLogMapper.updateByPrimaryKeySelective(departureLog);
// 车辆活动日志 // 车辆活动日志
VehicleActiveLog activeLog = vehicleActiveLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId()); VehicleActiveLog activeLog = vehicleActiveLogMapper.selectLastByVehicleId(arrivalVo.getVehicleId());
......
...@@ -412,7 +412,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -412,7 +412,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
public VehicleBookRecord applyVehicle(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{ public VehicleBookRecord applyVehicle(Integer userId, BookVehicleVO bookVehicleVo, String userName) throws Exception{
log.info("预定车辆参数:userId = {}, bookVehicleVo = {},username = {}", userId, bookVehicleVo, userName); log.info("预定车辆参数:userId = {}, bookVehicleVo = {},username = {}", userId, bookVehicleVo, userName);
//检查车辆信息是否合法 //检查车辆信息是否合法
checkIfVehicleExists(bookVehicleVo.getVehicleId()); Vehicle vehicle = mapper.selectByPrimaryKey(bookVehicleVo.getVehicleId());
if(vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode());
}
if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
}
if(StringUtils.isBlank(bookVehicleVo.getBookStartDate()) || StringUtils.isBlank(bookVehicleVo.getBookEndDate())) { if(StringUtils.isBlank(bookVehicleVo.getBookStartDate()) || StringUtils.isBlank(bookVehicleVo.getBookEndDate())) {
throw new BaseException(ResultCode.DATE_TIME_IS_NULL); throw new BaseException(ResultCode.DATE_TIME_IS_NULL);
} }
...@@ -443,6 +450,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -443,6 +450,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
vehicleBookRecord.setStatus(bookVehicleVo.getStatus()); vehicleBookRecord.setStatus(bookVehicleVo.getStatus());
vehicleBookRecord.setBookUser(userId); vehicleBookRecord.setBookUser(userId);
vehicleBookRecord.setBookUserName(userName); vehicleBookRecord.setBookUserName(userName);
vehicleBookRecord.setLiftCompany(vehicle.getParkBranchCompanyId());
vehicleBookRecordBiz.save(vehicleBookRecord); vehicleBookRecordBiz.save(vehicleBookRecord);
} else { } else {
vehicleBookRecord = vehicleBookRecordBiz.selectById(bookVehicleVo.getVehicleBookRecordId()); vehicleBookRecord = vehicleBookRecordBiz.selectById(bookVehicleVo.getVehicleBookRecordId());
...@@ -744,15 +752,47 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -744,15 +752,47 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
* @param id * @param id
*/ */
public boolean checkIfVehicleExists(String id){ public boolean checkIfVehicleExists(String id){
Integer count = mapper.selectCount(new Vehicle(){{
setId(id); Vehicle vehicle = mapper.selectByPrimaryKey(id);
}}); if(vehicle == null) {
if(count<=0){
return false; return false;
} }
if (!vehicle.getStatus().equals(VehicleStatus.NORMAL.getCode())) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getDesc() + ", 车辆状态是:" + getVehicleStatus(vehicle.getStatus(), vehicle.getId()),
ResCode.VEHICLE_DEPARTURE_VEHICLE_DISABLE.getCode());
}
return true; return true;
} }
public String getVehicleStatus(Integer status, String vehicleId) {
StringBuilder stringBuilder = new StringBuilder();
switch (status) {
case 1:
stringBuilder.append("正常运行");
break;
case 2:
stringBuilder.append("维修");
break;
case 3:
stringBuilder.append("报废");
break;
case 4:
stringBuilder.append("出车");
break;
case 5:
stringBuilder.append("保养");
break;
}
List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId);
if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0) {
stringBuilder.append("中,使用人:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername());
stringBuilder.append(" 使用人电话:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone());
}
return stringBuilder.toString();
}
/** /**
* 把日期范围转换为列表,并检查操作范围是否合法 * 把日期范围转换为列表,并检查操作范围是否合法
* @param yearMonthAndDate * @param yearMonthAndDate
...@@ -810,7 +850,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -810,7 +850,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
DateTime endDay =DateTime.parse(bookVehicleVo.getUnbookEndDate(), DATE_TIME_FORMATTER); DateTime endDay =DateTime.parse(bookVehicleVo.getUnbookEndDate(), DATE_TIME_FORMATTER);
//转换日期范围为列表,并检查是否合法 //转换日期范围为列表,并检查是否合法
uinbookDateList4DatePeriod(yearMonthAndDate,startDay,endDay); uinbookDateList4DatePeriod(yearMonthAndDate,startDay,endDay);
Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getUnbookStartDate(), bookVehicleVo.getUnbookEndDate(), bookVehicleVo.getNotCheckTimeLegal()); //原设计为 读取 bookVehicleVo.getNotCheckTimeLegal(), 现在取消/拒绝 true
Map<String, Integer> map = vehicleBookHourInfoBiz.getPredictableHours(bookVehicleVo.getUnbookStartDate(), bookVehicleVo.getUnbookEndDate(), Boolean.TRUE);
if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月 if(yearMonthAndDate.size()>3){//连续的日期最多夸3个月
throw new BaseException(ResultCode.ONLY_UNBOOK_TWO_MONTH); throw new BaseException(ResultCode.ONLY_UNBOOK_TWO_MONTH);
} }
......
...@@ -47,11 +47,10 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -47,11 +47,10 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
if (bookStartDate.compareTo(DateTime.now().toString(DEFAULT_DATE_TIME_FORMATTER)) < 0) { if (bookStartDate.compareTo(DateTime.now().toString(DEFAULT_DATE_TIME_FORMATTER)) < 0) {
throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY); throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY);
} }
if (bookStartDate.compareTo(bookEndDate) > 0) {
throw new BaseException(ResultCode.ONLY_BOOK_FROM_TODAY);
} }
if (bookStartDate.compareTo(bookEndDate) > 0) {
throw new BaseException(ResultCode.END_TIME_FROM_TODAY);
} }
Map<String, Integer> predictableHours = Maps.newHashMap(); Map<String, Integer> predictableHours = Maps.newHashMap();
//预定开始小时 //预定开始小时
int hour = new DateTime(startDate).hourOfDay().get(); int hour = new DateTime(startDate).hourOfDay().get();
...@@ -149,7 +148,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -149,7 +148,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
public static void main(String[] args) throws Exception{ public static void main(String[] args) throws Exception{
int b = 16744448; int b = 16744448;
Integer a = b | 0; Integer a = b | 48;
System.out.println(a); System.out.println(a);
} }
......
...@@ -50,6 +50,10 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper, ...@@ -50,6 +50,10 @@ public class VehicleDepartureService extends BaseBiz<VehicleDepartureLogMapper,
return new PageInfo<>(mapper.selectByVehicleId(vehicleId)); return new PageInfo<>(mapper.selectByVehicleId(vehicleId));
} }
public VehicleDepartureLogVo getByRecordId(Long vehicleBookRecordId) {
return mapper.selectByBookRecordId(vehicleBookRecordId);
}
public VehicleDepartureStatisticDataVo statistic(String numberPlate) { public VehicleDepartureStatisticDataVo statistic(String numberPlate) {
Vehicle vehicle = vehicleMapper.selectByNumberPlate(numberPlate); Vehicle vehicle = vehicleMapper.selectByNumberPlate(numberPlate);
if (vehicle == null) { if (vehicle == null) {
......
...@@ -22,5 +22,5 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo ...@@ -22,5 +22,5 @@ public interface VehicleDepartureLogMapper extends BaseMapper<VehicleDepartureLo
String selectDayByVehicleId(String vehicleId); String selectDayByVehicleId(String vehicleId);
VehicleDepartureLogVo selectByBookRecordId(Integer bookRecordId); VehicleDepartureLogVo selectByBookRecordId(Long bookRecordId);
} }
...@@ -209,6 +209,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -209,6 +209,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode()); bookVehicleVo.setStatus(VehicleBookRecordStatus.APPROVE.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.TRUE);
baseBiz.applyVehicle(operatorId, bookVehicleVo, userName); baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc(); return RestResponse.suc();
} }
...@@ -225,6 +226,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -225,6 +226,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID()); Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName(); String userName = BaseContextHandler.getName();
bookVehicleVo.setStatus(VehicleBookRecordStatus.APPLY.getCode()); bookVehicleVo.setStatus(VehicleBookRecordStatus.APPLY.getCode());
bookVehicleVo.setNotCheckTimeLegal(Boolean.FALSE);
baseBiz.applyVehicle(operatorId, bookVehicleVo, userName); baseBiz.applyVehicle(operatorId, bookVehicleVo, userName);
return RestResponse.suc(); return RestResponse.suc();
} }
...@@ -497,4 +499,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -497,4 +499,11 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
vehicleJobHandler.execute(month); vehicleJobHandler.execute(month);
return RestResponse.suc(); return RestResponse.suc();
} }
@GetMapping("/app/unauth/checkHourInfo")
@IgnoreClientToken
@IgnoreUserToken
public ObjectRestResponse checkHourInfo() {
return vehicleBookRecordBiz.checkDateInvalide();
}
} }
...@@ -367,7 +367,7 @@ ...@@ -367,7 +367,7 @@
where id = #{id} where id = #{id}
</select> </select>
<select id="getByVehicleId" parameterType="java.lang.String" <select id="selectByVehicleId" parameterType="java.lang.String"
resultType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo"> resultType="com.xxfc.platform.vehicle.pojo.VehicleBookRecordVo">
SELECT v1.*,bc2.name retCompanyName from vehicle_book_record v1 SELECT v1.*,bc2.name retCompanyName from vehicle_book_record v1
LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id LEFT JOIN branch_company bc2 on v1.ret_company = bc2.id
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
order by create_time desc order by create_time desc
</select> </select>
<select id="selectByBookRecordId" parameterType="java.lang.Integer" resultType="com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo"> <select id="selectByBookRecordId" parameterType="java.lang.Long" resultType="com.xxfc.platform.vehicle.pojo.VehicleDepartureLogVo">
select vehicle_departure_log.* select vehicle_departure_log.*
from vehicle_departure_log from vehicle_departure_log
where vehicle_departure_log.book_record_id = #{id} where vehicle_departure_log.book_record_id = #{id}
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<association property="vehicleModel" column="model_id" <association property="vehicleModel" column="model_id"
select="com.xxfc.platform.vehicle.mapper.VehicleModelMapper.selectByPrimaryKey"/> select="com.xxfc.platform.vehicle.mapper.VehicleModelMapper.selectByPrimaryKey"/>
<association property="vehicleBookRecord" column="id" <association property="vehicleBookRecord" column="id"
select="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper.getByVehicleId"/> select="com.xxfc.platform.vehicle.mapper.VehicleBookRecordMapper.selectByVehicleId"/>
</resultMap> </resultMap>
<resultMap id="vehicleModel" type="com.xxfc.platform.vehicle.pojo.VehicleAndModelInfoVo"> <resultMap id="vehicleModel" type="com.xxfc.platform.vehicle.pojo.VehicleAndModelInfoVo">
......
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