提交 1196c24f authored 作者: huyufan's avatar huyufan

修改BUG

上级 5020a544
......@@ -5,6 +5,7 @@ import cn.hutool.json.JSONUtil;
import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.RollbackOrderWeightParam;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.enums.*;
......@@ -14,11 +15,13 @@ import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
......@@ -32,7 +35,7 @@ import java.util.stream.Collectors;
@Component
@Slf4j
@AllArgsConstructor
public class OrderCancelComponent {
public class OrderCancelComponent implements InitializingBean {
private final OrderChildDao orderChildDao;
......@@ -46,6 +49,10 @@ public class OrderCancelComponent {
private final DriverService driverService;
private final BreakContractSettlementOwnerService breakContractSettlementOwnerService;
public static Map<Integer,String> statusCodeMap = new HashMap<>();
public void ownerProcess(OrderCancelParam param){
String orderNo = param.getOrderNo();
List<OrderGoods> orderGoodsList = null;
......@@ -194,4 +201,23 @@ public class OrderCancelComponent {
}
}
}
public void breakContractSettlementOwner(String orderNo, Integer updateStatus) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
Integer orderStatus = orderInfoFeign.getOrderStatus();
log.info("执行处理违约,订单号:{}, updateStatus:{}", orderNo, updateStatus);
if (OrderEnum.Status.COMPLETED.getCode().equals(updateStatus) || statusCodeMap.containsKey(orderStatus)) {
breakContractSettlementOwnerService.saveSettlementOwnerForCancelOrder(orderNo);
log.info("执行处理违约完毕");
}
}
@Override
public void afterPropertiesSet() throws Exception {
statusCodeMap.put(OrderEnum.Status.QUOTATION_CONFIRMED.getCode(), OrderEnum.Status.QUOTATION_CONFIRMED.getName());
statusCodeMap.put(OrderEnum.Status.PLATFORM_UNDERTAKING.getCode(), OrderEnum.Status.PLATFORM_UNDERTAKING.getName());
statusCodeMap.put(OrderEnum.Status.POST_ORDER.getCode(), OrderEnum.Status.POST_ORDER.getName());
//statusCodeMap.put(OrderEnum.Status.ON_ORDER.getCode(), OrderEnum.Status.ON_ORDER.getName());
}
}
......@@ -15,6 +15,7 @@ import com.clx.performance.enums.TruckDemandEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.base.Optional;
import com.xxl.job.core.handler.annotation.XxlJob;
......@@ -53,6 +54,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private final DriverService driverService;
private final BreakContractDriverRecordService breakContractDriverRecordService;
//根据货单最晚接单时间处理
public void expireProduceByLastOrderTime(LocalDateTime localDateTime, String orderGoodsNo) {
redisTemplate.opsForZSet().add(RedisConstants.ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME, orderGoodsNo, localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli());
......@@ -204,6 +207,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
ids.add(orderChild.getId());
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
breakContractDriverRecordService.saveDriverRecordOfOrderChildCancel(orderChild, 0L, "系统");
}
log.info("取消运单ID集合:{}", ids);
......
......@@ -372,13 +372,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override
public List<OrderChild> selectInTransitOrderChild(String orderNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderNo, orderNo)
.lt(OrderChild::getStatus, OrderChildEnum.Status.COMPLETE.getCode())
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNSETTLE.getCode())
);
}
@Override
public List<OrderChild> selectInTransitOrderChildByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo)
.lt(OrderChild::getStatus, OrderChildEnum.Status.COMPLETE.getCode())
.lt(OrderChild::getStatus, OrderChildEnum.Status.UNSETTLE.getCode())
); }
}
......@@ -7,6 +7,7 @@ import com.clx.performance.enums.RoleEnum;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -19,14 +20,10 @@ import java.util.Objects;
*/
@Slf4j
@Component
@AllArgsConstructor
public class OrderCancelHandler {
@Autowired
private OrderCancelService orderCancelService;
@Autowired
private BreakContractSettlementOwnerService breakContractSettlementOwnerService;
private final OrderCancelService orderCancelService;
@RabbitListener(queues = RabbitKeyConstants.ORDER_CANCEL_QUEUE)
......@@ -35,10 +32,5 @@ public class OrderCancelHandler {
OrderCancelParam param = JSONUtil.toBean(message, OrderCancelParam.class);
orderCancelService.orderCancelProcess(param);
// //货主端取消订单进行违约计费
// if(Objects.equals(param.getCreateByType(), RoleEnum.Type.OWNER)){
// breakContractSettlementOwnerService.saveSettlementOwnerForCancelOrder(param.getOrderNo());
// }
}
}
......@@ -22,6 +22,7 @@ import com.clx.performance.param.pc.owner.ThawAccountParam;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
......@@ -60,8 +61,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private final OwnerAccountService ownerAccountService;
private final OrderGoodsTruckBindDao orderGoodsTruckBindDao;
private final OrderGoodsTruckBindService orderGoodsTruckBindService;
private final GoodsOrderTruckRecordComponent goodsOrderTruckRecordComponent;
......@@ -172,11 +171,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
thawAccountParam.setOrderType(OwnerAccountEnum.OrderChildTypeStatus.NETWORK.getCode());
log.info("执行解冻账户,参数:{}", JSONUtil.parse(thawAccountParam));
ownerAccountService.ownerAccountThaw(thawAccountParam);
this.ownerConfirmCancelProcess(orderNo);
orderCancelComponent.breakContractSettlementOwner(orderNo, orderStatusCode);
Result<Object> result = orderFeign.updateOrderStatusByOrderNo(orderNo, orderStatusCode);
if (!result.succeed()) {
throw new RuntimeException("货主取消订单失败,原因:远程调用取消订单失败");
}
this.ownerConfirmCancelProcess(orderNo);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论