Skip to content

Commit

Permalink
订单模块
Browse files Browse the repository at this point in the history
  • Loading branch information
Q-1515 committed Jul 25, 2022
1 parent 6059ed1 commit ca35364
Show file tree
Hide file tree
Showing 14 changed files with 707 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
package com.reggie.controller.user;

import com.reggie.dto.OrdersPaymentDTO;
import com.reggie.dto.OrdersSubmitDTO;
import com.reggie.result.PageResult;
import com.reggie.result.R;
import com.reggie.service.OrderService;
import com.reggie.vo.OrderPaymentVO;
import com.reggie.vo.OrderSubmitVO;
import com.reggie.vo.OrderVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
* 订单
*/
@RestController("userOrderController")
@RequestMapping("/user/order")
@Slf4j
@Api(tags = "C端-订单接口")
public class OrderController {

@Autowired
private OrderService orderService;

/**
* 用户下单
*
* @param ordersSubmitDTO 订单购买信息
* @return 订单信息(订单id,金额,订单号,下单时间)
*/
@PostMapping("/submit")
@ApiOperation("用户下单")
public R<OrderSubmitVO> submit(@RequestBody OrdersSubmitDTO ordersSubmitDTO) {
log.info("用户下单:{}", ordersSubmitDTO);
OrderSubmitVO orderSubmitVO = orderService.submitOrder(ordersSubmitDTO);
return R.success(orderSubmitVO);
}

/**
* 订单支付
*
* @param ordersPaymentDTO
* @return
*/
@PutMapping("/payment")
@ApiOperation("订单支付")
public R<OrderPaymentVO> payment(@RequestBody OrdersPaymentDTO ordersPaymentDTO) {
log.info("订单支付:{}",ordersPaymentDTO);
OrderPaymentVO orderPaymentVO = orderService.payment(ordersPaymentDTO);
return R.success(orderPaymentVO);
}

/**
* 历史订单查询
*
* @param page
* @param pageSize
* @param status 订单状态 1待付款 2待接单 3已接单 4派送中 5已完成 6已取消 7退款
* @return
*/
@GetMapping("/historyOrders")
@ApiOperation("历史订单查询")
public R<PageResult> page(int page, int pageSize, Integer status) {
PageResult pageResult = orderService.pageQuery4User(page, pageSize, status);
return R.success(pageResult);
}

/**
* 查询订单详情
*
* @param id
* @return
*/
@GetMapping("/orderDetail/{id}")
@ApiOperation("查询订单详情")
public R<OrderVO> details(@PathVariable("id") Long id) {
OrderVO orderVO = orderService.details(id);
return R.success(orderVO);
}

/**
* 催单
*
* @param id
* @return
*/
@GetMapping("/reminder/{id}")
@ApiOperation("催单")
public R reminder(@PathVariable("id") Long id) {
orderService.reminder(id);
return R.success();
}

/**
* 用户取消订单
*
* @return
*/
@PutMapping("/cancel/{id}")
@ApiOperation("取消订单")
public R cancel(@PathVariable("id") Long id) {
orderService.userCancelById(id);
return R.success();
}

/**
* 再来一单
*
* @param id
* @return
*/
@PostMapping("/repetition/{id}")
@ApiOperation("再来一单")
public R repetition(@PathVariable Long id) {
orderService.repetition(id);
return R.success();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.reggie.mapper;

import com.reggie.entity.OrderDetail;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface OrderDetailMapper {
/**
* 批量插入订单明细数据
* @param orderDetails
*/
void insertBatch(List<OrderDetail> orderDetails);

/**
* 根据订单id查询订单明细
* @param orderId
* @return
*/
List<OrderDetail> getDetailByOrderId(Long orderId);

}
46 changes: 46 additions & 0 deletions reggie_server/src/main/java/com/reggie/mapper/OrderMapper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.reggie.mapper;

import com.github.pagehelper.Page;
import com.reggie.entity.Orders;
import org.apache.ibatis.annotations.Mapper;

import java.util.Map;

@Mapper
public interface OrderMapper {
/**
* 插入订单数据
* @param order
*/
void insert(Orders order);

/**
* 根据订单号和用户id查询订单
* @param orderNumber
* @param userId
* @return
*/
Orders getByNumber(String orderNumber, Long userId);

/**
* 修改订单信息
* @param orders
*/
void updateOrdersById(Orders orders);

/**
* 分页条件查询并按下单时间排序
*
* @param map
* @return
*/
Page<Orders> pageQuerySortByOrderTime(Map map);

/**
* 根据id查询订单
* @param id
* @return
*/
Orders getById(Long id);

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.reggie.mapper;

import com.reggie.entity.Dish;
import com.reggie.entity.SetmealDish;
import org.apache.ibatis.annotations.Mapper;

Expand All @@ -8,8 +9,6 @@
@Mapper
public interface SetmealDishMapper {



//根据菜品ids找套餐
List<Long> getSetmealIdsByDishIds(List<Long> ids);

Expand All @@ -18,4 +17,8 @@ public interface SetmealDishMapper {

//套餐id删除套餐菜品关系表中的数据
void deleteBySetmealId(List<Long> ids);

//根据菜品id更新套餐的餐菜品名称和价格
void updateSetmealDishByID(Dish dish);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.reggie.service;

public interface OrderDetailService {

}
32 changes: 32 additions & 0 deletions reggie_server/src/main/java/com/reggie/service/OrderService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.reggie.service;

import com.reggie.dto.OrdersPaymentDTO;
import com.reggie.dto.OrdersSubmitDTO;
import com.reggie.result.PageResult;
import com.reggie.vo.OrderPaymentVO;
import com.reggie.vo.OrderSubmitVO;
import com.reggie.vo.OrderVO;

public interface OrderService {

//用户下单
OrderSubmitVO submitOrder(OrdersSubmitDTO ordersSubmitDTO);

//订单支付
OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO);

//用户端订单分页查询
PageResult pageQuery4User(int page, int pageSize, Integer status);

//查询订单详情
OrderVO details(Long id);

//催单
void reminder(Long id);

//用户取消订单
void userCancelById(Long id);

//再来一单
void repetition(Long id);
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.reggie.entity.DishFlavor;
import com.reggie.entity.Setmeal;
import com.reggie.entity.SetmealDish;
import com.reggie.exception.AccountNotFoundException;
import com.reggie.exception.BaseException;
import com.reggie.exception.DeletionNotAllowedException;
import com.reggie.mapper.DishFlavorMapper;
Expand Down Expand Up @@ -72,6 +73,9 @@ public void save(DishDTO dishDTO) {

//循环添加id
flavors.forEach(item -> {
if (item.getValue().equals("[]")){
throw new BaseException("傻逼,口味不能为空");
}
//设置口味关联的菜品id
item.setDishId(dishId);
});
Expand Down Expand Up @@ -149,6 +153,11 @@ public void updateWithFlavor(DishDTO dishDTO) {
//更新菜品数据
dishMapper.update(dish);

//根据菜品id更新套餐的餐菜品名称和价格
setmealDishMapper.updateSetmealDishByID(dish);



//获取菜品id
Long dishId = dishDTO.getId();
//根据菜品id删除口味
Expand All @@ -159,12 +168,15 @@ public void updateWithFlavor(DishDTO dishDTO) {
if (flavors != null && flavors.size() > 0) {
//为口味绑定菜品id
flavors.forEach(flavor -> {
if (flavor.getValue().equals("[]")){
throw new BaseException("傻逼,口味不能为空");
}
flavor.setDishId(dishId);
});
//插入新的口味数据
dishFlavorMapper.insert(flavors);
}else {
throw new BaseException("口味不能为空");
return;
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.reggie.service.impl;

import com.reggie.mapper.OrderDetailMapper;
import com.reggie.service.OrderDetailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 订单
*/
@Service
@Slf4j
public class OrderDetailServiceImpl implements OrderDetailService {

@Autowired
private OrderDetailMapper orderDetailMapper;

}
Loading

0 comments on commit ca35364

Please sign in to comment.