系统的功能结构图

在线外卖系统拓扑架构 外卖系统功能模块图_List

网站前台功能模块

     用户进入在线订餐系统可以获取首页信息、最新公告、商品分类、在线搜索等模块进行查看及维护。

在线外卖系统拓扑架构 外卖系统功能模块图_数据库_02

     用户如果想要进行商品的购买,则需要结合用户登录,通过登录窗口填写登录名、密码,信息输入完成后进行登录进入到系统界面,如果用户没有自己的账号信息,则需要在线注册新的账号信息,通过填写用户的基本资料信息,信息编辑完成后核对信息无误后进行提交,新的用户注册完成。

    商品信息,用户通过商品列表查看系统已有的商品信息,并结合需求可以对已有的商品信息,用户进入到商品详情界面进行查看商品的名称、详细介绍及商品评论等,并结合需求在线添加购物车或者添加到收藏夹等操作,如图5-4所示,用户进入到购物车界面,进行查看购物车所选的商品信息,并结合需求可以进行添加数量或者删除数量等信息,核对信息无误后进行结算。 

在线外卖系统拓扑架构 外卖系统功能模块图_List_03

     用户进入个人中心页面,可以对个人信息订餐信息,并结合需求可以对已有的订单信息进行查看已有的订单编号、总价、付款状态、及收货信息等,并结合需求进行订单支付,并对已发货的订单进行确认收货等操作,确认收货后结合需求可以进行商品的评价。

在线外卖系统拓扑架构 外卖系统功能模块图_功能模块_04

管理员功能模块

    管理员进入后台页面,可以对用户管理、角色管理、客户管理、公告管理、商品管理、订单管理、报表管理、售后管理等模块的管理维护操作。

    公告栏目管理:通过内容列表可以获取内容、发布时间等信息,并可进行查看状态信息,并根据需求可以在线添加、修改、删除。

在线外卖系统拓扑架构 外卖系统功能模块图_数据库_05

     商品管理,商家通过商品列表在线查看已有的商品信息,并结合需求可以进行商品的修改或者删除等操作,并根据商品的库存进行在线补充库存和减少库存。

在线外卖系统拓扑架构 外卖系统功能模块图_功能模块_06

/**
      * 保存
      * @param model
      * @return
      * @throws Exception
      */
     @RequestMapping("stock.htm")
     @ResponseBody
     public Result stock(Model model, Integer stock,String id ,Integer type)throws Exception{
         ShopEntity entity = service.selectById(id);
         if(entity.getStock()==null){
             entity.setStock(0);
         }
         if(type==1){ //添加库存
             entity.setStock(entity.getStock()+stock);
         }else{ //减少库存
             if(entity.getStock()-stock<0){
                 return Result.error("库存不够");
             }
             entity.setStock(entity.getStock()-stock);
         }
         service.updateById(entity);
         return Result.success("保存成功");
     }}

      订单管理,管理员根据需求通过订单管理列表进行查看用户所提交的订单信息,并对未发货的订单进行订单发货操作,也可结合需求对已有的订单信息进行订单删除。

在线外卖系统拓扑架构 外卖系统功能模块图_功能模块_07

@Controller
 @RequestMapping("order")
 public class OrderController {    @Autowired
     private OrderShopService orderShopService;    @Autowired
     private OrderService orderService;     /**
      * 界面
      * @param model
      * @return
      * @throws Exception
      */
     @RequestMapping("page.htm")
     public String page(Model model)throws Exception{
         EntityWrapper entityWrapper = new EntityWrapper();
         entityWrapper.orderBy(OrderTable.TIME,false);
         List<OrderEntity> list = orderService.selectList(entityWrapper);
         if(list!=null){
             for (OrderEntity orderEntity : list) {
                 entityWrapper = new EntityWrapper();
                 entityWrapper.eq("order_id",orderEntity.getId());
                 List<OrderShopEntity> shoppingGatEntities = orderShopService.selectList(entityWrapper);
                 orderEntity.setOrderShops(shoppingGatEntities);
             }
         }
         model.addAttribute("list",list);
         return "order/list";
     }     /**
      * 修改
      * @param orderEntity
      * @return
      * @throws Exception
      */
     @RequestMapping("update.htm")
     @ResponseBody
     @NoAdminLogin
     public Result update(OrderEntity orderEntity)throws Exception{
         orderService.updateById(orderEntity);
         return Result.success("1");
     }
 }