取消订单
This commit is contained in:
parent
71bab8c82c
commit
9ae9e8df35
|
@ -94,4 +94,17 @@ public class OrderController {
|
|||
OrderVO orderVO = orderService.detail(id);
|
||||
return Result.success(orderVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
*
|
||||
* @param id 订单id
|
||||
* @return Result<String>
|
||||
*/
|
||||
@ApiOperation("取消订单")
|
||||
@PutMapping("/cancel/{id}")
|
||||
public Result<String> cancel(@PathVariable("id") Long id) {
|
||||
orderService.userCancelById(id);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,4 +55,12 @@ public interface OrderMapper {
|
|||
* @return Page<Orders>
|
||||
*/
|
||||
Page<Orders> pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
|
||||
|
||||
/**
|
||||
* 根据id查询订单
|
||||
*
|
||||
* @param id 订单id
|
||||
* @return Orders
|
||||
*/
|
||||
Orders useCancelById(Long id);
|
||||
}
|
||||
|
|
|
@ -55,4 +55,11 @@ public interface OrderService {
|
|||
* @return OrderVO
|
||||
*/
|
||||
OrderVO detail(Long id);
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
void userCancelById(Long id);
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import com.sky.vo.OrderPaymentVO;
|
|||
import com.sky.vo.OrderSubmitVO;
|
||||
import com.sky.vo.OrderVO;
|
||||
import com.sky.websocket.WebSocketServer;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
@ -32,6 +33,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class OrderServiceImpl implements OrderService {
|
||||
@Resource
|
||||
private OrderMapper orderMapper;
|
||||
|
@ -227,6 +229,38 @@ public class OrderServiceImpl implements OrderService {
|
|||
orderVO.setOrderDetailList(orderDetailList);
|
||||
return orderVO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
*
|
||||
* @param id 订单id
|
||||
*/
|
||||
@Override
|
||||
public void userCancelById(Long id) {
|
||||
// 根据id查询订单
|
||||
Orders ordersDB = orderMapper.getById(id);
|
||||
|
||||
// 如果查询到的订单为空
|
||||
if (ordersDB == null) {
|
||||
throw new OrderBusinessException(MessageConstant.ORDER_NOT_FOUND);
|
||||
}
|
||||
// 订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消
|
||||
if (ordersDB.getStatus() > 2) {
|
||||
throw new OrderBusinessException(MessageConstant.ORDER_STATUS_ERROR);
|
||||
}
|
||||
Orders orders = new Orders();
|
||||
orders.setId(ordersDB.getId());
|
||||
// 订单处于待接单状态下取消,需要进行退款
|
||||
if (ordersDB.getStatus().equals(Orders.TO_BE_CONFIRMED)) {
|
||||
log.info("订单需要退款。。。。。。。");
|
||||
orders.setPayStatus(Orders.REFUND);
|
||||
}
|
||||
// 更新订单状态、取消原因、取消时间
|
||||
orders.setStatus(Orders.CANCELLED);
|
||||
orders.setCancelReason("用户取消");
|
||||
orders.setCancelTime(LocalDateTime.now());
|
||||
orderMapper.update(orders);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -95,4 +95,11 @@
|
|||
</where>
|
||||
order by order_time desc
|
||||
</select>
|
||||
|
||||
<!-- 根据id查询订单 -->
|
||||
<select id="useCancelById" resultType="com.sky.entity.Orders">
|
||||
select *
|
||||
from orders
|
||||
where id = #{id};
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue