去除费用相关
This commit is contained in:
parent
1792a84d4f
commit
38b4be520a
|
|
@ -97,11 +97,6 @@ public class OrderServiceImpl implements OrderService {
|
||||||
if (orderDetailDtos == null) {
|
if (orderDetailDtos == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// orderDetailDtos.removeIf(Objects::isNull);
|
|
||||||
// if (orderDetailDtos.isEmpty()) {
|
|
||||||
// continue;
|
|
||||||
//// throw new RuntimeException("请正确添加设备");
|
|
||||||
// }
|
|
||||||
//生成订单信息
|
//生成订单信息
|
||||||
String code = "D" + System.currentTimeMillis();
|
String code = "D" + System.currentTimeMillis();
|
||||||
orderInfoDto.setCode(code);
|
orderInfoDto.setCode(code);
|
||||||
|
|
@ -125,20 +120,6 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
// 更改购物车状态为已下单
|
// 更改购物车状态为已下单
|
||||||
orderMapper.updateMaStatus(orderDetailDto);
|
orderMapper.updateMaStatus(orderDetailDto);
|
||||||
// if (devPersonPhone != null) {
|
|
||||||
// if (devPersonPhone.length() == 11) {
|
|
||||||
// SmsUtils.smsToken(devPersonPhone, "订单编号:" + code + "已下单,请尽快处理。", "");
|
|
||||||
// JSONObject sendResult = SmsTool.sendSms(new SmsParam(devPersonPhone, "订单编号:" + code + "已下单,请尽快处理。"), BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
|
||||||
// System.out.println("短信发送结果:" + sendResult.toString());
|
|
||||||
// } else if (devPersonPhone.length() > 11) {
|
|
||||||
// JSONObject sendResult = SmsTool.sendSms(new SmsParam(Sm4Utils.decrypt(devPersonPhone), "订单编号:" + code + "已下单,请尽快处理。"), BmConfigItems.ANHUI_COMPANY_SMS_KEY);
|
|
||||||
// System.out.println("短信发送结果:" + sendResult.toString());
|
|
||||||
// } else {
|
|
||||||
// System.err.println("-----------用户绑定手机号,格式异常!!!---------------");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// System.err.println("-----------设备联系人手机号为空!!!---------------");
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Long userid = SecurityUtils.getLoginUser().getUserid();
|
Long userid = SecurityUtils.getLoginUser().getUserid();
|
||||||
|
|
@ -181,7 +162,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto);
|
List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto);
|
||||||
for (OrderInfoDto dto : orderInfoDtos) {
|
for (OrderInfoDto dto : orderInfoDtos) {
|
||||||
dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber()));
|
dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber()));
|
||||||
List<OrderDetailDto> list = new ArrayList();
|
List<OrderDetailDto> list = new ArrayList<>();
|
||||||
String ids = dto.getIds();
|
String ids = dto.getIds();
|
||||||
for (String id : ids.split(",")) {
|
for (String id : ids.split(",")) {
|
||||||
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
|
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
|
||||||
|
|
@ -196,8 +177,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
if (detailDto.getChangeCost() != null) {
|
if (detailDto.getChangeCost() != null) {
|
||||||
totalRentalPrice = totalRentalPrice.add(detailDto.getChangeCost());
|
totalRentalPrice = totalRentalPrice.add(detailDto.getChangeCost());
|
||||||
} else {
|
} else {
|
||||||
if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0
|
if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0 && detailDto.getDayLeasePrice() != null) {
|
||||||
&& detailDto.getDayLeasePrice() != null) {
|
|
||||||
BigDecimal newTotalPrice = detailDto.getDayLeasePrice().multiply(new BigDecimal(detailDto.getDateDays()))
|
BigDecimal newTotalPrice = detailDto.getDayLeasePrice().multiply(new BigDecimal(detailDto.getDateDays()))
|
||||||
.setScale(2, RoundingMode.HALF_UP);
|
.setScale(2, RoundingMode.HALF_UP);
|
||||||
totalRentalPrice = totalRentalPrice.add(newTotalPrice);
|
totalRentalPrice = totalRentalPrice.add(newTotalPrice);
|
||||||
|
|
@ -213,8 +193,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
dto.setTotalRentalPrice(totalRentalPrice);
|
dto.setTotalRentalPrice(totalRentalPrice);
|
||||||
dto.setDetailsList(list);
|
dto.setDetailsList(list);
|
||||||
Optional<OrderDetailDto> minOrderStatus = list.stream()
|
Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus())));
|
||||||
.min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus())));
|
|
||||||
minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
||||||
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息
|
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息
|
||||||
int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId()));
|
int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId()));
|
||||||
|
|
@ -224,42 +203,17 @@ public class OrderServiceImpl implements OrderService {
|
||||||
dto.setIsLeaseContent(0);
|
dto.setIsLeaseContent(0);
|
||||||
}
|
}
|
||||||
dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus())));
|
dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus())));
|
||||||
//TODO计算总费用
|
|
||||||
LeaseRepair leaseRepair = new LeaseRepair();
|
LeaseRepair leaseRepair = new LeaseRepair();
|
||||||
leaseRepair.setOrderId(String.valueOf(dto.getOrderId()));
|
leaseRepair.setOrderId(String.valueOf(dto.getOrderId()));
|
||||||
List<LeaseRepairRecord> leaseRepairRecords = leaseRepairRecordMapper.getLeaseRepairRecordList(leaseRepair);
|
|
||||||
BigDecimal totalRepairScrapLossPrice = BigDecimal.ZERO;
|
|
||||||
if (!CollectionUtils.isEmpty(leaseRepairRecords)) {
|
|
||||||
for (LeaseRepairRecord leaseRepairRecord : leaseRepairRecords) {
|
|
||||||
if (leaseRepairRecord.getRepairChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getRepairPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairPrice());
|
|
||||||
}
|
|
||||||
if (leaseRepairRecord.getScrapChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getScrapPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapPrice());
|
|
||||||
}
|
|
||||||
if (leaseRepairRecord.getLossChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getLossPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossPrice());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dto.setTotalRepairScrapLossPrice(totalRepairScrapLossPrice);
|
|
||||||
}
|
|
||||||
dto.setTotalRealPrice(BigDecimal.ZERO.add(totalRentalPrice).add(totalRepairScrapLossPrice).subtract(totalReliefPrice));
|
|
||||||
}
|
}
|
||||||
return orderInfoDtos;
|
return orderInfoDtos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception {
|
public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) {
|
||||||
OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto);
|
OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto);
|
||||||
List<OrderDetailDto> list = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId().toString());
|
List<OrderDetailDto> list = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId().toString());
|
||||||
Optional<OrderDetailDto> minOrderStatus = list.stream()
|
Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus())));
|
||||||
.min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus())));
|
|
||||||
minOrderStatus.ifPresent(orderDetailDto -> orderInfoDto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
minOrderStatus.ifPresent(orderDetailDto -> orderInfoDto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
||||||
orderInfoDto.setPhoneNumber(Sm4Utils.decrypt(orderInfoDto.getPhoneNumber()));
|
orderInfoDto.setPhoneNumber(Sm4Utils.decrypt(orderInfoDto.getPhoneNumber()));
|
||||||
orderInfoDto.setStartTime(list.get(0).getRentBeginTime());
|
orderInfoDto.setStartTime(list.get(0).getRentBeginTime());
|
||||||
|
|
@ -302,11 +256,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
|
|
||||||
// 计算天数差
|
// 计算天数差
|
||||||
long days = ChronoUnit.DAYS.between(preOutboundLocalDate, rentEndLocalDate);
|
long days = ChronoUnit.DAYS.between(preOutboundLocalDate, rentEndLocalDate);
|
||||||
if (days == 0) {
|
if (days == 0) { days = 1;} else {days = days + 1;}
|
||||||
days = 1;
|
|
||||||
} else {
|
|
||||||
days = days + 1;
|
|
||||||
}
|
|
||||||
return days;
|
return days;
|
||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
throw new RuntimeException("日期转换错误", e);
|
throw new RuntimeException("日期转换错误", e);
|
||||||
|
|
@ -575,7 +525,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(devInfo);
|
List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(devInfo);
|
||||||
for (OrderInfoDto dto : orderInfoDtos) {
|
for (OrderInfoDto dto : orderInfoDtos) {
|
||||||
dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber()));
|
dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber()));
|
||||||
List<OrderDetailDto> list = new ArrayList();
|
List<OrderDetailDto> list = new ArrayList<>();
|
||||||
String ids = dto.getIds();
|
String ids = dto.getIds();
|
||||||
for (String id : ids.split(",")) {
|
for (String id : ids.split(",")) {
|
||||||
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
|
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
|
||||||
|
|
@ -583,31 +533,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
}
|
}
|
||||||
BigDecimal totalRentalPrice = BigDecimal.ZERO;
|
BigDecimal totalRentalPrice = BigDecimal.ZERO;
|
||||||
BigDecimal totalReliefPrice = BigDecimal.ZERO;
|
BigDecimal totalReliefPrice = BigDecimal.ZERO;
|
||||||
for (OrderDetailDto detailDto : list) {
|
|
||||||
if (Objects.nonNull(detailDto) && String.valueOf(OrderStatusEnum.ORDER_FINISHED.getStatus()).equals(detailDto.getOrderStatus())) {
|
|
||||||
detailDto.setDays(detailDto.getDateDays() == null ? detailDto.getDays() : String.valueOf(detailDto.getDateDays()));
|
|
||||||
if (detailDto.getChangeCost() != null) {
|
|
||||||
totalRentalPrice = totalRentalPrice.add(detailDto.getChangeCost());
|
|
||||||
} else {
|
|
||||||
if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0
|
|
||||||
&& detailDto.getDayLeasePrice() != null) {
|
|
||||||
BigDecimal newTotalPrice = detailDto.getDayLeasePrice().multiply(new BigDecimal(detailDto.getDateDays()))
|
|
||||||
.setScale(2, RoundingMode.HALF_UP);
|
|
||||||
totalRentalPrice = totalRentalPrice.add(newTotalPrice);
|
|
||||||
detailDto.setCosts(newTotalPrice);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (detailDto.getReliefChangeCost() != null) {
|
|
||||||
totalReliefPrice.add(detailDto.getReliefChangeCost());
|
|
||||||
} else if (detailDto.getReliefCost() != null) {
|
|
||||||
totalReliefPrice.add(detailDto.getReliefCost());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dto.setTotalRentalPrice(totalRentalPrice);
|
|
||||||
dto.setDetailsList(list);
|
dto.setDetailsList(list);
|
||||||
Optional<OrderDetailDto> minOrderStatus = list.stream()
|
Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus())));
|
||||||
.min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus())));
|
|
||||||
minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus()));
|
||||||
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息
|
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息
|
||||||
int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId()));
|
int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId()));
|
||||||
|
|
@ -617,32 +544,8 @@ public class OrderServiceImpl implements OrderService {
|
||||||
dto.setIsLeaseContent(0);
|
dto.setIsLeaseContent(0);
|
||||||
}
|
}
|
||||||
dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus())));
|
dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus())));
|
||||||
//TODO计算总费用
|
|
||||||
LeaseRepair leaseRepair = new LeaseRepair();
|
LeaseRepair leaseRepair = new LeaseRepair();
|
||||||
leaseRepair.setOrderId(String.valueOf(dto.getOrderId()));
|
leaseRepair.setOrderId(String.valueOf(dto.getOrderId()));
|
||||||
List<LeaseRepairRecord> leaseRepairRecords = leaseRepairRecordMapper.getLeaseRepairRecordList(leaseRepair);
|
|
||||||
BigDecimal totalRepairScrapLossPrice = BigDecimal.ZERO;
|
|
||||||
if (!CollectionUtils.isEmpty(leaseRepairRecords)) {
|
|
||||||
for (LeaseRepairRecord leaseRepairRecord : leaseRepairRecords) {
|
|
||||||
if (leaseRepairRecord.getRepairChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getRepairPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairPrice());
|
|
||||||
}
|
|
||||||
if (leaseRepairRecord.getScrapChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getScrapPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapPrice());
|
|
||||||
}
|
|
||||||
if (leaseRepairRecord.getLossChangePrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossChangePrice());
|
|
||||||
} else if (leaseRepairRecord.getLossPrice() != null) {
|
|
||||||
totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossPrice());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dto.setTotalRepairScrapLossPrice(totalRepairScrapLossPrice);
|
|
||||||
}
|
|
||||||
dto.setTotalRealPrice(BigDecimal.ZERO.add(totalRentalPrice).add(totalRepairScrapLossPrice).subtract(totalReliefPrice));
|
|
||||||
}
|
}
|
||||||
return orderInfoDtos;
|
return orderInfoDtos;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue