Commit 5b23efac authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/master-modify-cutAmount' into dev

# Conflicts:
#	.gitignore
#	xx-im/xx-im-server/src/main/java/com/xxfc/platform/im/biz/MsgBiz.java
parents 6b12a246 9cc6a8e9
...@@ -123,7 +123,7 @@ public class MsgBiz { ...@@ -123,7 +123,7 @@ public class MsgBiz {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public ObjectRestResponse getMsgListByUserId(Integer page, Integer limit) { public ObjectRestResponse getMsgListByUserId(Integer page, Integer limit, Integer type) {
//获取所有朋友圈 //获取所有朋友圈
page = page == null ? 1 : page; page = page == null ? 1 : page;
limit = limit == null ? 10 : limit; limit = limit == null ? 10 : limit;
...@@ -136,8 +136,9 @@ public class MsgBiz { ...@@ -136,8 +136,9 @@ public class MsgBiz {
} }
Pageable pageable = PageRequest.of(--page, limit); Pageable pageable = PageRequest.of(--page, limit);
List<Integer> ids = new ArrayList<>(); List<Integer> ids = new ArrayList<>();
ids.add(2); if(type != null) {
ids.add(4); ids.add(type);
}
Query query = new Query(Criteria.where("body.type").in(ids)); Query query = new Query(Criteria.where("body.type").in(ids));
query.addCriteria(Criteria.where("userId").is(userId)); query.addCriteria(Criteria.where("userId").is(userId));
int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size(); int totalSize = mongoTemplate.find(query, Msg.class, "s_msg").size();
......
...@@ -32,7 +32,7 @@ public class MsgController { ...@@ -32,7 +32,7 @@ public class MsgController {
} }
@GetMapping(value = "/getByUserId") @GetMapping(value = "/getByUserId")
public ObjectRestResponse getByUserId(Integer page, Integer limit) { public ObjectRestResponse getByUserId(Integer page, Integer limit, Integer type) {
return msgBiz.getMsgListByUserId(page, limit); return msgBiz.getMsgListByUserId(page, limit, type);
} }
} }
...@@ -8,7 +8,7 @@ import java.util.List; ...@@ -8,7 +8,7 @@ import java.util.List;
@Data @Data
public class DedDetailDTO { public class DedDetailDTO {
/** /**
* : 扣除项 * : 扣除项名称
*/ */
String deductions; String deductions;
...@@ -34,4 +34,6 @@ public class DedDetailDTO { ...@@ -34,4 +34,6 @@ public class DedDetailDTO {
//type对应的中文 //type对应的中文
String statusName; String statusName;
} }
...@@ -145,7 +145,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -145,7 +145,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
* @param timeLag 与开始时间的时间差 * @param timeLag 与开始时间的时间差
* @param dicParentKey * @param dicParentKey
*/ */
public void rentRefundProcess(BaseOrder baseOrder, Long timeLag, String dicParentKey) { public BigDecimal rentRefundProcess(BaseOrder baseOrder, Long timeLag, String dicParentKey) {
//计算退款金额 //计算退款金额
//商品价格 - 优惠券减免的价格 //商品价格 - 优惠券减免的价格
BigDecimal originalRefundAmount = BigDecimal.ZERO.add(baseOrder.getGoodsAmount().subtract(baseOrder.getCouponAmount())); BigDecimal originalRefundAmount = BigDecimal.ZERO.add(baseOrder.getGoodsAmount().subtract(baseOrder.getCouponAmount()));
...@@ -158,6 +158,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -158,6 +158,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
//退款子流程: 订单基础,退款描述,退款金额 //退款子流程: 订单基础,退款描述,退款金额
refundSubProcess(baseOrder, refundDescBuilder.toString(), originalRefundAmount, refundAmount, RefundTypeEnum.ORDER_FUND.getCode(), RefundStatusEnum.ALL.getCode()); refundSubProcess(baseOrder, refundDescBuilder.toString(), originalRefundAmount, refundAmount, RefundTypeEnum.ORDER_FUND.getCode(), RefundStatusEnum.ALL.getCode());
return refundAmount;
} }
/** /**
...@@ -168,7 +169,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -168,7 +169,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
* @param dicParentKey * @param dicParentKey
* @param originalDeductAmount * @param originalDeductAmount
*/ */
public void rentRefundDepositProcess(BaseOrder baseOrder, BigDecimal depositAmount, Long timeLag, String dicParentKey, BigDecimal originalDeductAmount) { public BigDecimal rentRefundDepositProcess(BaseOrder baseOrder, BigDecimal depositAmount, Long timeLag, String dicParentKey, BigDecimal originalDeductAmount) {
// 1、押金 + 租金(规则扣除) // 1、押金 + 租金(规则扣除)
BigDecimal originalRefundAmount = BigDecimal.ZERO.add(depositAmount); BigDecimal originalRefundAmount = BigDecimal.ZERO.add(depositAmount);
BigDecimal refundAmount = BigDecimal.ZERO.add(depositAmount); BigDecimal refundAmount = BigDecimal.ZERO.add(depositAmount);
...@@ -178,12 +179,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> { ...@@ -178,12 +179,13 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
BigDecimal residueAmount = calculateRefund(originalDeductAmount, timeLag, dicParentKey, refundDescBuilder); BigDecimal residueAmount = calculateRefund(originalDeductAmount, timeLag, dicParentKey, refundDescBuilder);
residueAmount = residueAmount.setScale(2, RoundingMode.HALF_UP); residueAmount = residueAmount.setScale(2, RoundingMode.HALF_UP);
//退款金额 :押金 - (原扣除款 - 剩余款) //退款金额 :押金 - (原扣除款 - 剩余款) 即: 押金 - (免费天数对应的钱 - 剩余款)
refundAmount = originalRefundAmount.subtract(originalDeductAmount.subtract(residueAmount)); refundAmount = originalRefundAmount.subtract(originalDeductAmount.subtract(residueAmount));
} }
//触发押金退款 //触发押金退款
refundSubProcess(baseOrder, refundDescBuilder.toString(), originalRefundAmount, refundAmount, RefundTypeEnum.DEPOSIT.getCode(), RefundStatusEnum.ALL.getCode()); refundSubProcess(baseOrder, refundDescBuilder.toString(), originalRefundAmount, refundAmount, RefundTypeEnum.DEPOSIT.getCode(), RefundStatusEnum.ALL.getCode());
return refundAmount;
} }
public BigDecimal calculateRefund(BigDecimal goodsAmount, Long timeLag, String dicParentKey, StringBuilder refundDescBuilder) { public BigDecimal calculateRefund(BigDecimal goodsAmount, Long timeLag, String dicParentKey, StringBuilder refundDescBuilder) {
......
...@@ -18,6 +18,7 @@ import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus; ...@@ -18,6 +18,7 @@ import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.*; import com.xxfc.platform.order.entity.*;
import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper; import com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper;
import com.xxfc.platform.order.pojo.DedDetailDTO;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO; import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
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;
...@@ -34,11 +35,13 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo; ...@@ -34,11 +35,13 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.map.HashedMap; import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
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 org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TimeZone; import java.util.TimeZone;
...@@ -79,11 +82,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -79,11 +82,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
List<OrderVehicleCrosstownDto> list = mapper.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> list = mapper.selectByOrderId(orderVehicleCrosstownDto);
for (OrderVehicleCrosstownDto value : list) { for (OrderVehicleCrosstownDto value : list) {
if(value != null && value.getOrperaterId() != null && value.getType() != 1) { if (value != null && value.getOrperaterId() != null && value.getType() != 1) {
UserDTO userDTO = userFeign.userinfoByUid(value.getOrperaterId()).getData(); UserDTO userDTO = userFeign.userinfoByUid(value.getOrperaterId()).getData();
if(userDTO != null) { if (userDTO != null) {
CompanyDetail branchCompany = vehicleFeign.getCompanyDetail(userDTO.getCompanyId()).getData(); CompanyDetail branchCompany = vehicleFeign.getCompanyDetail(userDTO.getCompanyId()).getData();
if(branchCompany != null) { if (branchCompany != null) {
value.setCustomerPhone(branchCompany.getVehiceServicePhone()); value.setCustomerPhone(branchCompany.getVehiceServicePhone());
} }
} }
...@@ -163,20 +166,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -163,20 +166,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId()); OrderRentVehicleDetail orderRentVehicleDetail = orderRentVehicleBiz.selectById(baseOrder.getDetailId());
if(orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) { if (orderVehicleCrosstownDto.getType() == CrosstownTypeEnum.DEPARTURE.getCode()) {
boolean flag = getTodayTime(orderRentVehicleDetail.getEndTime()); boolean flag = getTodayTime(orderRentVehicleDetail.getEndTime());
if (!flag) { if (!flag) {
return ObjectRestResponse.createFailedResult(3502, "今日不是交车日期"); return ObjectRestResponse.createFailedResult(3502, "今日不是交车日期");
} }
if(userDTO.getCompanyId() != orderRentVehicleDetail.getStartCompanyId()) { if (userDTO.getCompanyId() != orderRentVehicleDetail.getStartCompanyId()) {
return ObjectRestResponse.createFailedResult(3501, "无交车权限"); return ObjectRestResponse.createFailedResult(3501, "无交车权限");
} }
} else { } else {
if(userDTO.getCompanyId() != orderRentVehicleDetail.getEndCompanyId()) { if (userDTO.getCompanyId() != orderRentVehicleDetail.getEndCompanyId()) {
return ObjectRestResponse.createFailedResult(3503, "无收车权限"); return ObjectRestResponse.createFailedResult(3503, "无收车权限");
} }
} }
if(baseOrder.getStatus() != -1) { if (baseOrder.getStatus() != -1) {
Vehicle vehicle = null; Vehicle vehicle = null;
RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId()); RestResponse<Vehicle> restResponse = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
log.info("获取车辆信息返回消息:{}", restResponse.getMessage()); log.info("获取车辆信息返回消息:{}", restResponse.getMessage());
...@@ -186,7 +189,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -186,7 +189,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if (vehicle == null) { if (vehicle == null) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc()); return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getCode(), ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc());
} }
if( vehicle.getMileageLastUpdate() != null) { if (vehicle.getMileageLastUpdate() != null) {
//判断车辆公里数 //判断车辆公里数
if (orderVehicleCrosstownDto.getMileage() == null || orderVehicleCrosstownDto.getMileage() <= vehicle.getMileageLastUpdate()) { if (orderVehicleCrosstownDto.getMileage() == null || orderVehicleCrosstownDto.getMileage() <= vehicle.getMileageLastUpdate()) {
return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode(), ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc()); return ObjectRestResponse.createFailedResult(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode(), ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc());
...@@ -204,7 +207,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -204,7 +207,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo.setDepartureBranchCompanyId(orderRentVehicleDetail.getStartCompanyId()); vehicleDepartureVo.setDepartureBranchCompanyId(orderRentVehicleDetail.getStartCompanyId());
vehicleDepartureVo.setExpectArrivalBranchCompanyId(orderRentVehicleDetail.getEndCompanyId()); vehicleDepartureVo.setExpectArrivalBranchCompanyId(orderRentVehicleDetail.getEndCompanyId());
vehicleDepartureVo.setMileage(orderVehicleCrosstownDto.getMileage()); vehicleDepartureVo.setMileage(orderVehicleCrosstownDto.getMileage());
if(appUserDTO != null) { if (appUserDTO != null) {
vehicleDepartureVo.setUser(appUserDTO.getNickname()); vehicleDepartureVo.setUser(appUserDTO.getNickname());
vehicleDepartureVo.setUserTel(appUserDTO.getUsername()); vehicleDepartureVo.setUserTel(appUserDTO.getUsername());
} else { } else {
...@@ -229,7 +232,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -229,7 +232,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo.setMileage(orderVehicleCrosstownDto.getMileage()); vehicleArrivalVo.setMileage(orderVehicleCrosstownDto.getMileage());
vehicleArrivalVo.setRecycleMan(userDTO.getName()); vehicleArrivalVo.setRecycleMan(userDTO.getName());
vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId()); vehicleArrivalVo.setBookRecordId(orderRentVehicleDetail.getBookRecordId());
if(appUserDTO != null) { if (appUserDTO != null) {
vehicleArrivalVo.setRecycleManTel(appUserDTO.getUsername()); vehicleArrivalVo.setRecycleManTel(appUserDTO.getUsername());
} else { } else {
vehicleArrivalVo.setRecycleManTel("13565235623"); vehicleArrivalVo.setRecycleManTel("13565235623");
...@@ -246,7 +249,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -246,7 +249,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDedDetail()); JSONArray jsonArray = JSONArray.parseArray(orderVehicleCrosstownDto.getDedDetail());
for (int i = 0; i < jsonArray.size(); i++) { for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString()); JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
if(jsonObject!= null) { if (jsonObject != null) {
cost += Double.parseDouble(jsonObject.getString("cost")); cost += Double.parseDouble(jsonObject.getString("cost"));
} }
} }
...@@ -254,9 +257,9 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -254,9 +257,9 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP); BigDecimal amount = new BigDecimal(cost.toString()).divide(new BigDecimal("1"), 2, BigDecimal.ROUND_UP);
orderVehicleCrosstownDto.setDeductionCost(amount); orderVehicleCrosstownDto.setDeductionCost(amount);
//扣除费用 //扣除费用
orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(amount)); orderVehicleCrosstownDto.setRestDeposit(orderRentVehicleDetail.getDeposit().subtract(orderVehicleCrosstownDto.getDeductionCost()));
if(orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金 if (orderVehicleCrosstownDto.getRestDeposit().compareTo(getAmount()) == -1) { //剩余金额小于保证金
return ObjectRestResponse.createFailedResult(500,"押金不足,不能交车,请联系客服!"); return ObjectRestResponse.createFailedResult(500, "押金不足,不能交车,请联系客服!");
} }
//出车成功后修改订单状态 //出车成功后修改订单状态
List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto); List<OrderVehicleCrosstownDto> oldValue = orderVehicleCrosstownBiz.selectByOrderId(orderVehicleCrosstownDto);
...@@ -289,7 +292,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -289,7 +292,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BigDecimal totalAmount = new BigDecimal(0); BigDecimal totalAmount = new BigDecimal(0);
ObjectRestResponse<OrderPageVO> objectRestResponse = baseOrderBiz.getOrderDetail(baseOrder.getNo()); ObjectRestResponse<OrderPageVO> objectRestResponse = baseOrderBiz.getOrderDetail(baseOrder.getNo());
if (objectRestResponse.getData() != null && objectRestResponse.getData().getOrderRentVehicleDetail() != null) { if (objectRestResponse.getData() != null && objectRestResponse.getData().getOrderRentVehicleDetail() != null) {
//总押金-保留金 //总押金
totalAmount = objectRestResponse.getData().getOrderRentVehicleDetail().getDeposit(); totalAmount = objectRestResponse.getData().getOrderRentVehicleDetail().getDeposit();
} }
...@@ -313,6 +316,36 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -313,6 +316,36 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH); baseOrderBiz.sendOrderMq(orderRentVehicleDetail, null, null, baseOrder, OrderMQDTO.ORDER_FINISH);
} else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()) { //定损还车,添加定损记录 } else if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.FIXED_LOSS.getCode()) { //定损还车,添加定损记录
//提前还车,结束时间大于当前时间
DateTime nowTime = DateTime.now();
DateTime endTime = new DateTime(orderRentVehicleDetail.getEndTime());
DateTime startTime = new DateTime(orderRentVehicleDetail.getStartTime());
//实际预定的天数
int actualDay = getDaysBetweenDateTime(startTime, endTime);
if (orderRentVehicleDetail.getEndTime() > nowTime.getMillis()) {
//提前的天数
int noUsedDay = getDaysBetweenDateTime(nowTime, endTime);
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
//延期还车,结束时间小于当前时间
} else if (orderRentVehicleDetail.getEndTime() < nowTime.getMillis()) {
//延期的天数, 延期违约金是延期天数*200%
int usedDay = getDaysBetweenDateTime(endTime, nowTime);
DedDetailDTO dedDetailDTO = new DedDetailDTO();
dedDetailDTO.setDeductions("违约金:");
dedDetailDTO.setCost(baseOrder.getGoodsAmount().multiply(new BigDecimal(usedDay)).multiply(new BigDecimal(2)));
dedDetailDTO.setId(1);
dedDetailDTO.setStatusIndex(1);
dedDetailDTO.setStatusName("延期违约金");
dedDetailDTO.setType(3);
orderVehicleCrosstown.setDedDetail(JSONObject.toJSONString(dedDetailDTO));
BigDecimal restDeposit = orderVehicleCrosstown.getRestDeposit().subtract(dedDetailDTO.getCost());
orderVehicleCrosstown.setRestDeposit(restDeposit);
orderVehicleCrosstown.setDeductionCost(orderVehicleCrosstown.getDeductionCost().add(dedDetailDTO.getCost()));
orderVehicleCrosstownBiz.updateSelectiveByIdRe(orderVehicleCrosstown);
}
}
//添加定损记录 //添加定损记录
DepositRefundRecord depositRefundRecord = new DepositRefundRecord(); DepositRefundRecord depositRefundRecord = new DepositRefundRecord();
depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost()); depositRefundRecord.setAmount(orderVehicleCrosstown.getDeductionCost());
...@@ -325,7 +358,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -325,7 +358,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
baseOrderBiz.updateSelectiveByIdReT(baseOrder); baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderRentVehicleDetail.setFixedLossStatus(1); orderRentVehicleDetail.setFixedLossStatus(1);
orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail); orderRentVehicleBiz.updateSelectiveByIdRe(orderRentVehicleDetail);
}
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车 } else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_FIXED_LOSS.getCode()) {//定损后还车
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode()); DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUND.getCode());
if (depositRefundRecord != null) { if (depositRefundRecord != null) {
...@@ -341,7 +373,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -341,7 +373,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
newValue.setId(null); newValue.setId(null);
orderDepositRefundRecordBiz.save(newValue); orderDepositRefundRecordBiz.save(newValue);
DepositRefundRecord nextValue = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUNDARRIVAL.getCode()); DepositRefundRecord nextValue = orderDepositRefundRecordBiz.findByCrossIdAndStatus(orderVehicleCrosstown.getId(), DepositRefundStatus.FIXLOSSREFUNDARRIVAL.getCode());
if(nextValue != null) { if (nextValue != null) {
nextValue.setRestAmount(newValue.getRestAmount()); nextValue.setRestAmount(newValue.getRestAmount());
orderDepositRefundRecordBiz.update(nextValue); orderDepositRefundRecordBiz.update(nextValue);
} }
...@@ -354,6 +386,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -354,6 +386,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
} }
} }
//添加订单驾驶人信息
public void getOrderLicense(OrderVehicleCrosstownDto orderVehicleCrosstownDto) { public void getOrderLicense(OrderVehicleCrosstownDto orderVehicleCrosstownDto) {
if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getLicenseIdCard())) { if (StringUtils.isNotBlank(orderVehicleCrosstownDto.getLicenseIdCard())) {
OrderUserLicense orderUserLicense = new OrderUserLicense(); OrderUserLicense orderUserLicense = new OrderUserLicense();
...@@ -377,9 +411,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp ...@@ -377,9 +411,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
public boolean getTodayTime(Long time) { public boolean getTodayTime(Long time) {
long current = System.currentTimeMillis(); long current = System.currentTimeMillis();
if (current <= (time / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset() ) + 24 * 60 * 60 * 1000 -1) { if (current <= (time / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset()) + 24 * 60 * 60 * 1000 - 1) {
return true; return true;
} }
return false; return false;
} }
//获取两个日期之间的天数
public int getDaysBetweenDateTime(DateTime startDay, DateTime endDay) {
int a = 0;
for (DateTime curDate = startDay.plusDays(1); curDate.compareTo(endDay) < 0; curDate = curDate.plusDays(1)) {
a++;
}
return a;
}
} }
...@@ -134,11 +134,12 @@ public class OrderCancelBiz { ...@@ -134,11 +134,12 @@ public class OrderCancelBiz {
// } // }
//退款流程 //退款流程
//退押金
orderRefundBiz.rentRefundDepositProcess(hasUpdateOrder, orvd.getDeposit(), timeLag, APP_ORDER+ "_"+ RENT_REFUND, freeDayAmount);
//退订单款 //退订单款
orderRefundBiz.rentRefundProcess(hasUpdateOrder, timeLag, APP_ORDER+ "_"+ RENT_REFUND); orderRefundBiz.rentRefundProcess(hasUpdateOrder, timeLag, APP_ORDER+ "_"+ RENT_REFUND);
//退押金
orderRefundBiz.rentRefundDepositProcess(hasUpdateOrder, orvd.getDeposit(), timeLag, APP_ORDER+ "_"+ RENT_REFUND, freeDayAmount);
//已付款的取消订单发送消息 //已付款的取消订单发送消息
try { try {
AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData(); AppUserDTO appUserDTO = userFeign.userDetailById(baseOrder.getUserId()).getData();
......
...@@ -106,6 +106,8 @@ public class BackStageOrderController extends CommonBaseController implements Us ...@@ -106,6 +106,8 @@ public class BackStageOrderController extends CommonBaseController implements Us
AppUserLogin appUserLogin = userFeign.one(dto.getPhone()); AppUserLogin appUserLogin = userFeign.one(dto.getPhone());
if (appUserLogin != null) { if (appUserLogin != null) {
dto.setUserId(appUserLogin.getId()); dto.setUserId(appUserLogin.getId());
}else {
return ObjectRestResponse.succ(new PageDataVO<>());
} }
} }
UserDTO userDTO = getAdminUserInfo(); UserDTO userDTO = getAdminUserInfo();
......
...@@ -58,8 +58,8 @@ public class VehicleActiveService { ...@@ -58,8 +58,8 @@ public class VehicleActiveService {
* *
* @param departureVo * @param departureVo
*/ */
@Transactional
public void departure(VehicleDepartureVo departureVo) { public void departure(VehicleDepartureVo departureVo) {
try {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId()); Vehicle vehicle = vehicleMapper.selectByPrimaryKey(departureVo.getVehicleId());
if (vehicle == null) { if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
...@@ -147,6 +147,10 @@ public class VehicleActiveService { ...@@ -147,6 +147,10 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
} catch (Exception e) {
e.printStackTrace();
}
} }
...@@ -187,8 +191,8 @@ public class VehicleActiveService { ...@@ -187,8 +191,8 @@ public class VehicleActiveService {
return stringBuilder.toString(); return stringBuilder.toString();
} }
@Transactional
public void arrival(VehicleArrivalVo arrivalVo) { public void arrival(VehicleArrivalVo arrivalVo) {
try {
Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId()); Vehicle vehicle = vehicleMapper.selectByPrimaryKey(arrivalVo.getVehicleId());
if (vehicle == null) { if (vehicle == null) {
throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(), throw new BaseException(ResCode.VEHICLE_DEPARTURE_VEHICLE_UNEXIST.getDesc(),
...@@ -315,6 +319,9 @@ public class VehicleActiveService { ...@@ -315,6 +319,9 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
} catch (Exception e) {
e.printStackTrace();
}
} }
//添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态 //添加出车时间过滤 再出车开始时间前一天至结束时间内可以出车,并且预定记录为已审核状态
......
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