|
|
@@ -2,6 +2,7 @@ package org.dromara.order.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
@@ -12,9 +13,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.dromara.order.domain.OrderCustomerFlowLink;
|
|
|
-import org.dromara.order.domain.OrderCustomerFlowNodeLink;
|
|
|
+import org.dromara.order.domain.*;
|
|
|
import org.dromara.order.domain.bo.OrderCustomerFlowLinkBo;
|
|
|
+import org.dromara.order.mapper.OrderMainMapper;
|
|
|
import org.dromara.order.service.IOrderCustomerFlowLinkService;
|
|
|
import org.dromara.order.service.IOrderCustomerFlowNodeLinkService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -23,8 +24,6 @@ import org.dromara.order.domain.bo.OrderCustomerFlowSaveBo;
|
|
|
import org.dromara.order.domain.bo.OrderCustomerFlowNodeBo;
|
|
|
import org.dromara.order.domain.bo.OrderCustomerFlowNodeLinkBo;
|
|
|
import org.dromara.order.domain.vo.OrderCustomerFlowVo;
|
|
|
-import org.dromara.order.domain.OrderCustomerFlow;
|
|
|
-import org.dromara.order.domain.OrderCustomerFlowNode;
|
|
|
import org.dromara.order.domain.OrderCustomerFlowLink;
|
|
|
import org.dromara.order.domain.OrderCustomerFlowNodeLink;
|
|
|
import org.dromara.order.mapper.OrderCustomerFlowMapper;
|
|
|
@@ -45,10 +44,12 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
@Slf4j
|
|
|
@RequiredArgsConstructor
|
|
|
@Service
|
|
|
-public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlowMapper, OrderCustomerFlow> implements IOrderCustomerFlowService {
|
|
|
+public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlowMapper, OrderCustomerFlow> implements IOrderCustomerFlowService {
|
|
|
|
|
|
private final OrderCustomerFlowMapper baseMapper;
|
|
|
|
|
|
+ private final OrderMainMapper orderMainMapper;
|
|
|
+
|
|
|
private final IOrderCustomerFlowNodeService nodeService;
|
|
|
|
|
|
private final IOrderCustomerFlowLinkService linkService;
|
|
|
@@ -56,8 +57,6 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
private final IOrderCustomerFlowNodeLinkService nodeLinkService;
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 查询客户订单流程
|
|
|
*
|
|
|
@@ -65,7 +64,7 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
* @return 客户订单流程
|
|
|
*/
|
|
|
@Override
|
|
|
- public OrderCustomerFlowVo queryById(Long id){
|
|
|
+ public OrderCustomerFlowVo queryById(Long id) {
|
|
|
OrderCustomerFlowVo orderCustomerFlowVo = baseMapper.selectVoById(id);
|
|
|
List<OrderCustomerFlowNode> orderCustomerFlowNodes = nodeService.list(Wrappers.lambdaQuery(OrderCustomerFlowNode.class).eq(OrderCustomerFlowNode::getFlowId, orderCustomerFlowVo.getId()));
|
|
|
orderCustomerFlowVo.setFlowNodes(orderCustomerFlowNodes);
|
|
|
@@ -143,7 +142,7 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
/**
|
|
|
* 保存前的数据校验
|
|
|
*/
|
|
|
- private void validEntityBeforeSave(OrderCustomerFlow entity){
|
|
|
+ private void validEntityBeforeSave(OrderCustomerFlow entity) {
|
|
|
//TODO 做一些数据校验,如唯一约束
|
|
|
}
|
|
|
|
|
|
@@ -218,7 +217,7 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
- if(isValid){
|
|
|
+ if (isValid) {
|
|
|
//TODO 做一些业务上的校验,判断是否需要校验
|
|
|
}
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
@@ -244,7 +243,7 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
List<OrderCustomerFlowNode> orderCustomerFlowNodes = nodeService.list(
|
|
|
new LambdaQueryWrapper<OrderCustomerFlowNode>().eq(OrderCustomerFlowNode::getFlowId, flow.getId())
|
|
|
);
|
|
|
- if (ObjectUtil.isEmpty(orderCustomerFlowNodes)){
|
|
|
+ if (ObjectUtil.isEmpty(orderCustomerFlowNodes)) {
|
|
|
return;
|
|
|
}
|
|
|
//
|
|
|
@@ -345,7 +344,6 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
);
|
|
|
|
|
|
|
|
|
-
|
|
|
if (ObjectUtil.isEmpty(flowNodes)) {
|
|
|
throw new RuntimeException("流程节点配置异常");
|
|
|
}
|
|
|
@@ -388,7 +386,10 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
updateLink.setId(currentLink.getId());
|
|
|
updateLink.setReviewStatus(1L); // 流程完成
|
|
|
|
|
|
- linkService.updateById(updateLink);
|
|
|
+ boolean b = linkService.updateById(updateLink);
|
|
|
+ if (b) {
|
|
|
+ updateMainOrderStatus(orderId, updateLink.getReviewStatus().toString());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -414,6 +415,13 @@ public class OrderCustomerFlowServiceImpl extends ServiceImpl<OrderCustomerFlow
|
|
|
// 比如:驳回到指定节点、重新提交等
|
|
|
|
|
|
log.info("订单{}的节点{}被驳回,驳回原因:{}",
|
|
|
- currentLink.getOrderId(), currentLink.getNodeId(), bo.getReason());
|
|
|
+ currentLink.getOrderId(), currentLink.getNodeId(), bo.getReason());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateMainOrderStatus(Long orderId, String status) {
|
|
|
+ LambdaUpdateWrapper<OrderMain> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ updateWrapper.eq(OrderMain::getId, orderId)
|
|
|
+ .set(OrderMain::getCheckStatus, status);
|
|
|
+ orderMainMapper.update(null, updateWrapper);
|
|
|
}
|
|
|
}
|