|
|
@@ -369,10 +369,13 @@ public class KwoTradeOrderService {
|
|
|
orderCheck.setGoodsId(param.getGoodsInfo().getGoodsId()).setUnitPrice(param.getGoodsInfo().getUnitPrice())
|
|
|
.setOrderSource(DictEnum.TORDER_SOURCE_2.getValue());
|
|
|
orderCheck(orderCheck, false);
|
|
|
+ ContractInfo contract = param.getContractInfo();
|
|
|
+ contractCheck(contract);
|
|
|
+ param.setContractInfo(contract);
|
|
|
KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
|
|
|
order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(OrderGenerateUtils.generateOrderNo(ORDER_NO_PREFIX))
|
|
|
.setUnit(param.getGoodsInfo().getUnit()).setSource(DictEnum.TORDER_SOURCE_2.getValue());
|
|
|
- String contractStatus = param.getContractInfo().getContractStatus();
|
|
|
+ String contractStatus = contract.getContractStatus();
|
|
|
if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_0.getValue())) {
|
|
|
order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_3.getValue()));
|
|
|
} else if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_1.getValue())) {
|
|
|
@@ -389,6 +392,29 @@ public class KwoTradeOrderService {
|
|
|
addOtherOrderInfo(order, BeanUtils.copyProperties(param, ValetOrderParam.class), false);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc: 合同校验
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-08-24 10:54
|
|
|
+ * @Param contract:
|
|
|
+ * @return: void
|
|
|
+ */
|
|
|
+ private void contractCheck(ContractInfo contract) {
|
|
|
+ Map<Long, ContractCommonInfoResDto> map = remoteContractService.queryContractBaseInfo(List.of(contract.getContractId()));
|
|
|
+ ContractCommonInfoResDto contractInfo = map.get(contract.getContractId());
|
|
|
+ if (Objects.isNull(contractInfo)) {
|
|
|
+ throw new BusinessException("不存在该合同信息!");
|
|
|
+ }
|
|
|
+ Integer status = contractInfo.getStatus();
|
|
|
+ if (!Objects.equals(0, status) || !Objects.equals(1, status)) {
|
|
|
+ throw new BusinessException("合同状态异常!");
|
|
|
+ }
|
|
|
+ contract.setContractName(contract.getContractName());
|
|
|
+ contract.setContractNo(contractInfo.getContractCode());
|
|
|
+ contract.setContractSigningWay(contractInfo.getSigningWayName());
|
|
|
+ contract.setContractStatus(String.valueOf(status));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @desc: 获取订单详情
|
|
|
* @author: yzc
|
|
|
@@ -527,7 +553,10 @@ public class KwoTradeOrderService {
|
|
|
if (Objects.equals(source, DictEnum.TORDER_SOURCE_1.getValue())) {
|
|
|
order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_1.getValue()));
|
|
|
} else {
|
|
|
- String contractStatus = param.getContractInfo().getContractStatus();
|
|
|
+ ContractInfo contract = param.getContractInfo();
|
|
|
+ contractCheck(contract);
|
|
|
+ param.setContractInfo(contract);
|
|
|
+ String contractStatus = contract.getContractStatus();
|
|
|
if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_0.getValue())) {
|
|
|
order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_3.getValue()));
|
|
|
} else if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_1.getValue())) {
|
|
|
@@ -716,7 +745,9 @@ public class KwoTradeOrderService {
|
|
|
orderCheck(orderCheck, true);
|
|
|
//更新订单信息
|
|
|
BeanUtils.copyProperties(param, order);
|
|
|
- String contractStatus = param.getContractInfo().getContractStatus();
|
|
|
+ ContractInfo contractInfo = param.getContractInfo();
|
|
|
+ contractCheck(contractInfo);
|
|
|
+ String contractStatus = contractInfo.getContractStatus();
|
|
|
if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_0.getValue())) {
|
|
|
order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_3.getValue()));
|
|
|
} else if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_1.getValue())) {
|
|
|
@@ -726,10 +757,9 @@ public class KwoTradeOrderService {
|
|
|
}
|
|
|
kwoTradeOrderMapper.updateById(order);
|
|
|
//保存合同信息
|
|
|
- ContractInfo contractInfo = param.getContractInfo();
|
|
|
- KwoTradeOrderContract contract = BeanUtils.copyProperties(contractInfo, KwoTradeOrderContract.class);
|
|
|
- contract.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo());
|
|
|
- kwoTradeOrderContractService.insert(contract);
|
|
|
+ KwoTradeOrderContract tradeOrderContract = BeanUtils.copyProperties(contractInfo, KwoTradeOrderContract.class);
|
|
|
+ tradeOrderContract.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo());
|
|
|
+ kwoTradeOrderContractService.insert(tradeOrderContract);
|
|
|
//订单状态记录
|
|
|
KwoTradeOrderTrack track = new KwoTradeOrderTrack();
|
|
|
track.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo()).setStatus(order.getStatus());
|