💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目
基于微信小程序的外卖点单系统介绍
《外卖点单系统》是一款基于B/S架构的综合性餐饮服务平台,采用Java/Python双语言支持,分别搭配Spring Boot(Spring+SpringMVC+Mybatis)和Django框架进行后端开发,前端则融合了uni-app、微信小程序和安卓技术,数据存储采用MySQL数据库。系统功能模块完善,包括首页展示、个人中心、食品分类管理、商户信息管理、外卖信息管理、用户管理、商家管理、系统管理及订单管理九大核心模块,实现了从用户浏览菜品、下单购买到商家接单、配送管理的全流程闭环。用户可通过系统便捷地浏览各类餐饮商家及其菜品信息,进行在线点餐、支付和订单跟踪;商家则可高效管理店铺信息、菜品分类、价格设置和订单处理;管理员可全面掌控平台运营数据,进行系统维护和用户权限管理。该系统界面友好、操作简便,具有良好的跨平台适应性,满足了现代消费者快捷点餐的需求,同时为餐饮商家提供了数字化经营的有力工具,是计算机专业学生展示全栈开发能力的理想毕业设计项目。
基于微信小程序的外卖点单系统演示视频
基于微信小程序的外卖点单系统演示图片
基于微信小程序的外卖点单系统代码展示
// 核心功能1: 订单管理 - 创建订单并处理支付
@Service
public class OrderServiceImpl implements OrderService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private FoodMapper foodMapper;
@Autowired
private UserMapper userMapper;
@Autowired
private MerchantMapper merchantMapper;
@Override
@Transactional
public OrderDTO createOrder(OrderCreateRequest request) {
// 验证用户信息
User user = userMapper.findById(request.getUserId());
if (user == null) {
throw new BusinessException("用户不存在");
}
// 验证商家信息
Merchant merchant = merchantMapper.findById(request.getMerchantId());
if (merchant == null || !merchant.getStatus().equals(MerchantStatus.ACTIVE)) {
throw new BusinessException("商家不存在或未营业");
}
// 计算订单总金额
BigDecimal totalAmount = BigDecimal.ZERO;
List<OrderItem> orderItems = new ArrayList<>();
for (OrderItemRequest itemRequest : request.getItems()) {
Food food = foodMapper.findById(itemRequest.getFoodId());
if (food == null || !food.getStatus().equals(FoodStatus.ON_SALE)) {
throw new BusinessException("商品不存在或已下架: " + itemRequest.getFoodId());
}
// 检查库存
if (food.getStock() < itemRequest.getQuantity()) {
throw new BusinessException("商品库存不足: " + food.getName());
}
// 更新库存
food.setStock(food.getStock() - itemRequest.getQuantity());
foodMapper.updateStock(food);
// 计算商品总价
BigDecimal itemPrice = food.getPrice().multiply(new BigDecimal(itemRequest.getQuantity()));
totalAmount = totalAmount.add(itemPrice);
// 创建订单项
OrderItem orderItem = new OrderItem();
orderItem.setFoodId(food.getId());
orderItem.setFoodName(food.getName());
orderItem.setPrice(food.getPrice());
orderItem.setQuantity(itemRequest.getQuantity());
orderItem.setTotalPrice(itemPrice);
orderItems.add(orderItem);
}
// 创建订单
Order order = new Order();
order.setOrderNo(generateOrderNo());
order.setUserId(user.getId());
order.setUserName(user.getName());
order.setUserPhone(user.getPhone());
order.setUserAddress(request.getDeliveryAddress());
order.setMerchantId(merchant.getId());
order.setMerchantName(merchant.getName());
order.setTotalAmount(totalAmount);
order.setStatus(OrderStatus.CREATED);
order.setPaymentStatus(PaymentStatus.UNPAID);
order.setOrderItems(orderItems);
order.setCreateTime(new Date());
// 保存订单
orderMapper.save(order);
// 返回订单信息
return OrderConverter.toDTO(order);
}
// 生成订单编号
private String generateOrderNo() {
return "ORD" + System.currentTimeMillis() + RandomUtil.randomNumbers(4);
}
}
基于微信小程序的外卖点单系统文档展示
💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我! 💛💛想说的话:感谢大家的关注与支持! 💜💜 网站实战项目 安卓/小程序实战项目 大数据实战项目 深度学习实战项目