开始
更新订单状态
编写service层 MyOrdersService
/**
* 更新订单状态 -> 确认收货
* @param orderId
* @return
*/
public boolean updateReceiveOrderStatus(String orderId);
/**
* 删除订单。逻辑删除
* @param userId
* @param orderId
* @return
*/
public boolean deleteOrder(String userId,String orderId);
实现类
确认订单就是更改订单的状态
只有当前的状态是30,待收货的状态,那么才能去修改成交易成功的状态。
MyOrdersServiceImpl实现类。
@Override
public boolean updateReceiveOrderStatus(String orderId) {
OrderStatus updateOrder=new OrderStatus();
updateOrder.setOrderStatus(OrderStatusEnum.SUCCESS.type);
updateOrder.setSuccessTime(new Date());
Example example=new Example(OrderStatus.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("orderId",orderId);
criteria.andEqualTo("orderId",OrderStatusEnum.WAIT_RECEIVE.value);
return false;
@Override
public boolean updateReceiveOrderStatus(String orderId) {
OrderStatus updateOrder=new OrderStatus();
updateOrder.setOrderStatus(OrderStatusEnum.SUCCESS.type); // 状态改成交易成功
updateOrder.setSuccessTime(new Date());
Example example=new Example(OrderStatus.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("orderId",orderId);
criteria.andEqualTo("orderStatus",OrderStatusEnum.WAIT_RECEIVE.type);//查询等待确认收货的
int result = orderStatusMapper.updateByExampleSelective(updateOrder, example);
return result==1?true:false;
}
删除订单
这里是逻辑删除,并不是真正的删除。
@Override
public boolean deleteOrder(String userId, String orderId) {
Orders updateOrder = new Orders();
updateOrder.setIsDelete(YesOrNo.YES.type);
updateOrder.setUpdatedTime(new Date());
Example example=new Example(Orders.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("id",orderId);
criteria.andEqualTo("userId",userId);
int result = ordersMapper.updateByExampleSelective(updateOrder, example);
return result==1?true:false;
}
controller内完善代码 ,MyOrdersController
@ApiOperation(value = "商家发货",notes = "商家发货",httpMethod ="GET" )
@GetMapping("/confirmReceive")
public IMOOCJSONResult confirmReceive(
@ApiParam(name = "orderId",value = "订单id",required = true)
@RequestParam String orderId,
@ApiParam(name = "userId",value = "订单id",required = true)
@RequestParam("userId") String userId
) throws Exception{
IMOOCJSONResult checkResult = checkUserOrder(orderId, userId);
if(checkResult.getStatus()!= HttpStatus.OK.value()) {
return checkResult;
}
boolean res = myOrderService.updateReceiveOrderStatus(orderId);
if(!res) {
return IMOOCJSONResult.errorMsg("订单确认收货失败!");
}
return IMOOCJSONResult.ok();
}
订单的删除
@ApiOperation(value = "用户订单删除",notes = "用户订单删除",httpMethod ="POST" )
@PostMapping("/delete")
public IMOOCJSONResult delete(
@ApiParam(name = "orderId",value = "订单id",required = true)
@RequestParam String orderId,
@ApiParam(name = "userId",value = "订单id",required = true)
@RequestParam("userId") String userId
) throws Exception{
IMOOCJSONResult checkResult = checkUserOrder(orderId, userId);
if(checkResult.getStatus()!= HttpStatus.OK.value()) {
return checkResult;
}
boolean res = myOrderService.deleteOrder(userId, orderId);
if(!res) {
return IMOOCJSONResult.errorMsg("订单删除失败!");
}
return IMOOCJSONResult.ok();
}
测试
maven install 重启服务
复制好订单的状态
确定后数据不在待收货的列表了
删除交易失败的
当前一共27条数据
数据变成26条