提交 5671f246 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v4.9_create_goods_child_20230918' into test

...@@ -42,19 +42,22 @@ public class OrderChildFreightInfoVO { ...@@ -42,19 +42,22 @@ public class OrderChildFreightInfoVO {
@ApiModelProperty(value = "运费(元)(实际运费)", example = "1.23") @ApiModelProperty(value = "运费(元)(实际运费)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal freight; private BigDecimal freight;
@ApiModelProperty(value = "损耗单价(分)", example = "1.23")
@MoneyOutConvert
private BigDecimal lossPrice;
@ApiModelProperty(value = "总运费(元)", example = "1.23") @ApiModelProperty(value = "总运费(元)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal totalFreight; private BigDecimal totalFreight;
public BigDecimal getTotalFreight() { public BigDecimal getTotalFreight() {
return freightPrice.multiply(weight).setScale(2, RoundingMode.HALF_UP); return freightPrice.multiply(weight).setScale(0, RoundingMode.HALF_UP);
} }
@ApiModelProperty(value = "亏吨扣款(元)", example = "1.23") @ApiModelProperty(value = "亏吨扣款(元)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal lossFreight; private BigDecimal lossFreight;
public BigDecimal getLossFreight() { public BigDecimal getLossFreight() {
return (loadNet==null || unloadNet==null || unloadNet.compareTo(loadNet)>0)? BigDecimal.ZERO : freightPrice.multiply(loadNet.subtract(unloadNet)).setScale(2, RoundingMode.HALF_UP); return (loadNet==null || unloadNet==null || unloadNet.compareTo(loadNet)>0)? BigDecimal.ZERO : lossPrice.multiply(loadNet.subtract(unloadNet)).setScale(2, RoundingMode.HALF_UP);
} }
@ApiModelProperty(value = "状态", example = "0") @ApiModelProperty(value = "状态", example = "0")
......
...@@ -60,6 +60,8 @@ public class OrderChildVO { ...@@ -60,6 +60,8 @@ public class OrderChildVO {
@ApiModelProperty(value = "最晚装货时间", example = "") @ApiModelProperty(value = "最晚装货时间", example = "")
private String loadDeadline; private String loadDeadline;
@ApiModelProperty(value = "车主id", example = "1")
private Long truckOwnUserNo;
@ApiModelProperty(value = "车辆ID", example = "1") @ApiModelProperty(value = "车辆ID", example = "1")
private Integer truckId; private Integer truckId;
@ApiModelProperty(value = "车牌号", example = "京A12345") @ApiModelProperty(value = "车牌号", example = "京A12345")
......
...@@ -46,6 +46,7 @@ public class OrderChild implements HasKey<Integer> { ...@@ -46,6 +46,7 @@ public class OrderChild implements HasKey<Integer> {
private String receiveAddress; //收货地址 private String receiveAddress; //收货地址
private LocalDateTime loadDeadline; //最晚装货时间 private LocalDateTime loadDeadline; //最晚装货时间
private Long truckOwnUserNo; //车主编号
private Integer truckId; //车辆ID private Integer truckId; //车辆ID
private String truckNo; //车牌号 private String truckNo; //车牌号
private BigDecimal truckLoad; //载重(单位吨) private BigDecimal truckLoad; //载重(单位吨)
......
...@@ -167,6 +167,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -167,6 +167,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setDriverName(driverTruckInfo.getName()); orderChild.setDriverName(driverTruckInfo.getName());
orderChild.setDriverMobile(driverTruckInfo.getMobile()); orderChild.setDriverMobile(driverTruckInfo.getMobile());
orderChild.setTruckOwnUserNo(driverTruckInfo.getTruckOwnUserNo());
orderChild.setTruckId(driverTruckInfo.getTruckId()); orderChild.setTruckId(driverTruckInfo.getTruckId());
orderChild.setTruckNo(driverTruckInfo.getTruckNo()); orderChild.setTruckNo(driverTruckInfo.getTruckNo());
orderChild.setTruckLoad(truckLoad); orderChild.setTruckLoad(truckLoad);
......
...@@ -21,6 +21,7 @@ import com.clx.user.feign.UserClxFeign; ...@@ -21,6 +21,7 @@ import com.clx.user.feign.UserClxFeign;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
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;
...@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -37,6 +39,7 @@ import java.util.stream.Collectors; ...@@ -37,6 +39,7 @@ import java.util.stream.Collectors;
* Time 16:45 * Time 16:45
*/ */
@Service @Service
@Slf4j
public class OrderGoodsServiceImpl implements OrderGoodsService { public class OrderGoodsServiceImpl implements OrderGoodsService {
@Autowired @Autowired
...@@ -96,19 +99,21 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -96,19 +99,21 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
List<OrderGoodsDriverTruck> truckList = orderGoodsDriverTruckDao. List<OrderGoodsDriverTruck> truckList = orderGoodsDriverTruckDao.
selectListByDriverUserNo(orderGoodsListParam.getDriverUserNo()) selectListByDriverUserNo(orderGoodsListParam.getDriverUserNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆"); .orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆");
List<String> truckNoList = null; List<String> truckNoList = new ArrayList<>();
if (truckList.isEmpty()) {
//查询当前用户是否是货主 //查询当前用户是否是货主
Long driverUserNo = orderGoodsListParam.getDriverUserNo(); Long driverUserNo = orderGoodsListParam.getDriverUserNo();
Result<List<String>> ownTruckByUserNo = userClxFeign.getOwnTruckByUserNo(driverUserNo); Result<List<String>> ownTruckByUserNo = userClxFeign.getOwnTruckByUserNo(driverUserNo);
log.info("通过用户编号:{} 查询本人车辆,查询结果:{}",driverUserNo,ownTruckByUserNo);
if (ownTruckByUserNo.getCode().equals(ResultCodeEnum.SUCCESS)) { if (ownTruckByUserNo.getCode().equals(ResultCodeEnum.SUCCESS)) {
if (ownTruckByUserNo.getData().isEmpty()) { if (CollectionUtils.isEmpty(truckList) && ownTruckByUserNo.getData().isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆"); throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆");
} }
truckNoList = ownTruckByUserNo.getData(); truckNoList.addAll(ownTruckByUserNo.getData());//当前用户自己的车
truckNoList.addAll(truckList.stream().map(OrderGoodsDriverTruck::getTruckNo).collect(Collectors.toList()));//当前用户被绑定为司机的车
} }
} else { if(CollectionUtils.isEmpty(truckNoList)){
truckNoList = truckList.stream().map(OrderGoodsDriverTruck::getTruckNo).collect(Collectors.toList()); throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆");
} }
List<OrderGoodsTruckBind> orderGoodsDriverTrucks = orderGoodsTruckBindDao.selectListByTruckNo(truckNoList) List<OrderGoodsTruckBind> orderGoodsDriverTrucks = orderGoodsTruckBindDao.selectListByTruckNo(truckNoList)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户没有专属单"); .orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户没有专属单");
......
...@@ -31,7 +31,7 @@ public class OrderChildSqlProvider { ...@@ -31,7 +31,7 @@ public class OrderChildSqlProvider {
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime " "date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime "
); );
FROM("order_child "); FROM("order_child ");
WHERE("(user_no = #{param.userNo} or driver_user_no = #{param.userNo}) "); WHERE("(user_no = #{param.userNo} or driver_user_no = #{param.userNo} or truck_own_user_no = #{param.userNo}) ");
if (Objects.isNull(param.getStatus())) { if (Objects.isNull(param.getStatus())) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论