取消订单
This commit is contained in:
parent
71bab8c82c
commit
9ae9e8df35
|
@ -94,4 +94,17 @@ public class OrderController {
|
||||||
OrderVO orderVO = orderService.detail(id);
|
OrderVO orderVO = orderService.detail(id);
|
||||||
return Result.success(orderVO);
|
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>
|
* @return Page<Orders>
|
||||||
*/
|
*/
|
||||||
Page<Orders> pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
|
Page<Orders> pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询订单
|
||||||
|
*
|
||||||
|
* @param id 订单id
|
||||||
|
* @return Orders
|
||||||
|
*/
|
||||||
|
Orders useCancelById(Long id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,4 +55,11 @@ public interface OrderService {
|
||||||
* @return OrderVO
|
* @return OrderVO
|
||||||
*/
|
*/
|
||||||
OrderVO detail(Long id);
|
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.OrderSubmitVO;
|
||||||
import com.sky.vo.OrderVO;
|
import com.sky.vo.OrderVO;
|
||||||
import com.sky.websocket.WebSocketServer;
|
import com.sky.websocket.WebSocketServer;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -32,6 +33,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
public class OrderServiceImpl implements OrderService {
|
public class OrderServiceImpl implements OrderService {
|
||||||
@Resource
|
@Resource
|
||||||
private OrderMapper orderMapper;
|
private OrderMapper orderMapper;
|
||||||
|
@ -227,6 +229,38 @@ public class OrderServiceImpl implements OrderService {
|
||||||
orderVO.setOrderDetailList(orderDetailList);
|
orderVO.setOrderDetailList(orderDetailList);
|
||||||
return orderVO;
|
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>
|
</where>
|
||||||
order by order_time desc
|
order by order_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据id查询订单 -->
|
||||||
|
<select id="useCancelById" resultType="com.sky.entity.Orders">
|
||||||
|
select *
|
||||||
|
from orders
|
||||||
|
where id = #{id};
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue