提交 225f604a authored 作者: aiqingguo's avatar aiqingguo

新增违约记录

上级 b037ec69
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum BreakContractRecordEnum {
;
@Getter
@AllArgsConstructor
public enum TriggerType {
SYSTEM(1, "系统触发"),
MANUAL(2, "手动触发"),
;
private final Integer code;
private final String msg;
public static Optional<TriggerType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum BreachContractPartyType {
PLATFORM(1, "平台"),
OWNER(2, "货主"),
DRIVER(3, "司机"),
;
private final Integer code;
private final String msg;
public static Optional<BreachContractPartyType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
......@@ -33,7 +33,7 @@ public enum PerformanceResultEnum implements ResultEnum {
DATA_REPEAT(1106, "数据重复"),
ORDER_NO_FOUND(1200, "货单不存在"),
ORDER_GOODS_NO_FOUND(1200, "货单不存在"),
ORDER_WEIGHT_LACK(1201, "剩余数量不足"),
ORDER_INVALID(1202, "无效的货单"),
ORDER_INVALID1(1203, "当前运单的货源已完成或取消,请查看其他货源"),
......@@ -73,6 +73,7 @@ public enum PerformanceResultEnum implements ResultEnum {
INTEGRAL_ORDER_NO_EXIST(1402, "货单不存在"),
INTEGRAL_TRUCK_NO_EXIST(1403, "车辆不存在"),
ORDER_NO_FOUND(1500, "订单不存在"),
;
private final int code;
......
package com.clx.performance.param.pc.breakcontract;
import com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqingguo
......@@ -21,19 +22,24 @@ import java.time.LocalDateTime;
@NoArgsConstructor
public class BreakContractDriverRecordAddParam {
@ApiModelProperty("违约方类型:1平台 2货主 3司机")
@ApiModelProperty("违约方类型:1平台 3司机")
@NotNull(message = "违约方类型不能为空")
private Integer breachContractPartyType;
@ApiModelProperty("违约运单")
@NotBlank(message = "违约运单不能为空")
private String childNo;
@ApiModelProperty("违约金")
@NotNull(message = "违约金不能为空")
@MoneyInConvert
private BigDecimal figure;
@ApiModelProperty("接单时间限制(小时)")
private BigDecimal timeLimit;
@ApiModelProperty("备注")
@NotBlank(message = "违约原因不能为空")
private String remark;
}
package com.clx.performance.param.pc.breakcontract;
import com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqingguo
......@@ -21,16 +22,21 @@ import java.time.LocalDateTime;
@NoArgsConstructor
public class BreakContractOwnerRecordAddParam {
@ApiModelProperty("违约方类型:1平台 2货主 3司机")
@ApiModelProperty("违约方类型:1平台 2货主")
@NotNull(message = "违约方类型不能为空")
private Integer breachContractPartyType;
@ApiModelProperty("违约单")
@ApiModelProperty("违约订单")
@NotBlank(message = "违约订单不能为空")
private String orderNo;
@ApiModelProperty("违约金")
@NotNull(message = "违约金不能为空")
@MoneyInConvert
private BigDecimal figure;
@ApiModelProperty("备注")
@NotBlank(message = "违约原因不能为空")
private String remark;
}
......@@ -2,7 +2,7 @@ package com.clx.performance.controller.pc.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -28,6 +28,7 @@ public class CarrierBreakContractDriverRecordController {
@ApiOperation(value = "新增违约记录", notes = "<br>By:艾庆国")
@PostMapping("/saveRecord")
@UnitCovert
public Result<Void> saveRecord(@RequestBody @Validated BreakContractDriverRecordAddParam param) {
breakContractDriverRecordService.saveRecord(param);
......
......@@ -2,6 +2,7 @@ package com.clx.performance.controller.pc.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -27,6 +28,7 @@ public class CarrierBreakContractOwnerRecordController {
@ApiOperation(value = "新增违约记录", notes = "<br>By:艾庆国")
@PostMapping("/saveRecord")
@UnitCovert
public Result<Void> saveRecord(@RequestBody @Validated BreakContractOwnerRecordAddParam param) {
breakContractOwnerRecordService.saveRecord(param);
......
......@@ -1398,7 +1398,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//货单数据
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(
PerformanceResultEnum.ORDER_NO_FOUND);
PerformanceResultEnum.ORDER_GOODS_NO_FOUND);
carrierOrderChildDetailVO.setExtractWeight(orderGoods.getExtractWeight());
//磅单审核数据
......
package com.clx.performance.service.impl.breakcontract;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author liruixin
* Date 2023-10-24
......@@ -18,16 +23,26 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Autowired
private BreakContractDriverRecordDao breakContractDriverRecordDao;
@Autowired
private OrderChildDao orderChildDao;
@Override
public void saveRecord(BreakContractDriverRecordAddParam param) {
orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
BreakContractDriverRecord record = new BreakContractDriverRecord();
record.setTriggerType(2);
record.setTriggerType(BreakContractRecordEnum.TriggerType.MANUAL.getCode());
record.setChildNo(param.getChildNo());
record.setFigure(param.getFigure());
if (param.getTimeLimit() != null) {
record.setTimeLimit(param.getTimeLimit());
record.setLimitTime(LocalDateTime.now().plusSeconds(param.getTimeLimit().multiply(BigDecimal.valueOf(3600L)).intValue()));
}
record.setRemark(param.getRemark());
breakContractDriverRecordDao.saveEntity(record);
}
}
package com.clx.performance.service.impl.breakcontract;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
......@@ -21,13 +22,17 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
@Autowired
private BreakContractOwnerRecordDao breakContractOwnerRecordDao;
@Autowired
private OrderService orderService;
@Override
public void saveRecord(BreakContractOwnerRecordAddParam param) {
orderService.getOrderInfo(param.getOrderNo()).orElseThrow(PerformanceResultEnum.ORDER_NO_FOUND);
BreakContractOwnerRecord record = new BreakContractOwnerRecord();
record.setTriggerType(2);
record.setTriggerType(BreakContractRecordEnum.TriggerType.MANUAL.getCode());
record.setBreachContractPartyType(param.getBreachContractPartyType());
record.setBreachContractPartyType(param.getBreachContractPartyType());
record.setOrderNo(param.getOrderNo());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论