提交 f4198aa5 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020
......@@ -85,6 +85,28 @@ public enum OrderChildEnum {
}
}
@Getter
@AllArgsConstructor
public enum CancelType {
PERSONAL(1, "个人原因"),
PRICE(2, "价格不合适"),
LOAD(3, "无法装货"),
TRUCK(4, "车辆原因"),
TRAFFIC_RESTRICTION(5, "交通管制"),
TRAFFIC_ACCIDENT(6, "交通事故"),
ADDRESS(7, "无法找到地址"),
OTHER(9, "其他原因"),
;
private final int code;
private final String msg;
public static Optional<CancelType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
// 运输中
public static final List<Integer> TRANSIT_lIST = Arrays.asList(
Status.CREATED.getCode(),
......
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
@Getter
@AllArgsConstructor
public enum OrderGoodsOverWeightEnum {
NO("0", "否"),
YES("1", "是"),
;
private final String code;
private final String name;
public static Optional<OrderGoodsOverWeightEnum> getByCode(String code) {
return Arrays.stream(values()).filter(e -> e.code .equals(code)).findFirst();
}
}
......@@ -17,8 +17,10 @@ public class OrderChildDriverCancelParam extends PositionParam {
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "取消原因类型:1个人原因, 2价格不合适, 3无法装货, 4车辆原因, 5交通管制, 6交通事故, 7无法找到地址, 8排队时间较长, 9其他原因", example = "1")
private Integer cancelType;
@ApiModelProperty(value = "取消原因", example = "信息错误")
@NotBlank(message = "取消原因不能为空")
private String remark;
@ApiModelProperty(value = "图片列表")
......
......@@ -108,8 +108,12 @@ public class OrderChildVO {
@MoneyOutConvert
private BigDecimal orderFreightPrice;
@ApiModelProperty(value = "取消原因", example = "取消原因类型:1个人原因, 2价格不合适, 3无法装货, 4车辆原因, 5交通管制, 6交通事故, 7无法找到地址, 8排队时间较长, 9其他原因")
private Integer cancelType;
@ApiModelProperty(value = "取消原因", example = "抢错了")
private String cancelRemark;
@ApiModelProperty(value = "司机取消详细原因", example = "司机取消详细原因")
private String cancelDetail;
@ApiModelProperty(value = "磅单审核状态 0 待审核 1 审核通过 2 审核驳回", example = "0")
private Integer poundStatus;
@ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误")
......
......@@ -79,9 +79,12 @@ public class CarrierOrderChildDetailVO {
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet;
@ApiModelProperty(value = "取消原因", example = "取消原因类型:1个人原因, 2价格不合适, 3无法装货, 4车辆原因, 5交通管制, 6交通事故, 7无法找到地址, 8排队时间较长, 9其他原因")
private Integer cancelType;
@ApiModelProperty(value = "取消原因", example = "抢错了")
private String cancelRemark;
@ApiModelProperty(value = "司机取消详细原因", example = "司机取消详细原因")
private String cancelDetail;
@ApiModelProperty(value = "状态", example = "0")
private Integer status;
......
......@@ -70,6 +70,8 @@ public class OrderChild implements HasKey<Integer> {
private BigDecimal freight; //运费(分)
private String cancelRemark; //取消原因
private Integer cancelType; //司机取消原因类型
private String cancelDetail; //司机取消详细原因
private Integer poundStatus; //磅单审核状态 0 待审核 1 审核通过 2 审核驳回
private Integer status; //状态
......
......@@ -45,7 +45,8 @@ public class OrderChildImage implements HasKey<Integer> {
@AllArgsConstructor
public enum Type {
LOAD(1, "装货磅单图片"),
UNLOAD(2, "卸货磅单图片")
UNLOAD(2, "卸货磅单图片"),
DRIVER_CANCEL(3, "司机取消")
;
......
......@@ -286,7 +286,13 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setTruckLoad(truckLoad);
orderChild.setTruckModel(driverTruckInfo.getModel());
orderChild.setWeight(orderChild.getTruckLoad());
Integer overWeight = orderInfo.getOverWeight();
if(Objects.equals(overWeight,OrderGoodsOverWeightEnum.NO.getCode())){
orderChild.setWeight(new BigDecimal(33));
}else{
orderChild.setWeight(new BigDecimal(50));
}
//orderChild.setWeight(orderChild.getTruckLoad());
orderChild.setFreight(orderChildFreightCalc(orderChild));
orderChild.setPayTime(now);
orderChild.setStatus(OrderChildEnum.Status.CREATED.getCode());
......@@ -1020,6 +1026,30 @@ public class OrderChildServiceImpl implements OrderChildService {
return;
}
if (param.getCancelType() != null){
orderChild.setCancelType(param.getCancelType());
orderChild.setCancelRemark(OrderChildEnum.CancelType.getByCode(param.getCancelType()).orElse(OrderChildEnum.CancelType.OTHER).getMsg());
orderChild.setCancelDetail(param.getRemark());
}
else {
orderChild.setCancelRemark(param.getRemark());
}
// 图片
List<OrderChildImage> imageList = new ArrayList<>();
if (param.getImageList() != null){
for (String item : param.getImageList()) {
OrderChildImage image = new OrderChildImage();
image.setChildNo(orderChild.getChildNo());
image.setType(OrderChildImage.Type.DRIVER_CANCEL.getCode());
image.setImage(item);
imageList.add(image);
}
}
if (!imageList.isEmpty()){
orderChildImageDao.batchSaveEntity(imageList);
}
// 禁止取消
if (orderChild.getStatus() >= OrderChildEnum.Status.LOAD.getCode()) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCEL_FORBID);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论