首页 > 其他分享 >农产品销售系统

农产品销售系统

时间:2024-10-13 11:19:48浏览次数:7  
标签:goods 界面 销售 系统 订单 管理员 农产品 order

一、前言

    随着信息技术的飞速发展和互联网的广泛普及,电子商务在各个行业中的应用日益深入。农产品销售领域也面临着新的机遇和挑战。传统的农产品销售模式存在着信息不对称、销售渠道单一、流通环节多、损耗大等问题。在当前消费市场对农产品品质、安全、便捷性要求不断提高的背景下,构建一个高效、便捷、信息透明的农产品销售系统具有重要意义。

    在农产品销售系统中,采用 HTML、MySQL 和 SpringBoot 的技术组合极具优势。HTML 用于构建系统的前端界面,它能创建直观、易用的交互页面,方便用户浏览农产品信息、下单等操作。MySQL 作为关系型数据库管理系统,负责存储各类数据,如农产品详情、用户信息、订单记录等,提供强大的数据存储与管理能力。SpringBoot 框架则在后端发挥关键作用,简化了项目的配置和开发流程,提高开发效率,并有效地处理业务逻辑,确保系统的稳定性和可扩展性。

二、技术环境

前端:HTML、CSS、JavaScript

后端:SpringBoot、SpringMVC、Mybatis、Redis

插件:Maven Helper、Lombok、MybatisLog

工具:IDEA、Postman、Maven、Git、Navicat

环境:Windows10、MySQL


三、功能设计

3.1 管理员用例图如下图所示:

3.2 商家用例图如下图所示:

3.3 用户用例图如下图所示:

四、数据库设计

数据库的 E-R 图(实体 - 关系图)是一种强大的工具,用于直观地表示数据库中的实体及其之间的关系。在数据库设计中,E-R 图可以帮助我们清晰地理解数据的结构和流向。限于篇幅要求,仅列出关键部分实体属性图和E-R图,如下所述。

五、部分效果展示

5.1 用户首页界面分为三部分。上部是轮播图,展示热门农产品。中部以卡片形式列出各类农产品,有名称、缩略图和价格。下部是推荐农产品区,展示根据用户浏览历史推荐的产品,页面设有返回顶部按钮。

5.2 分类查询界面左侧为农产品分类目录,包含果蔬、谷物、肉类等。点击分类,右侧区域显示该类下的农产品列表,展示名称、产地和价格。页面顶部设有搜索框,可对分类下的产品进行精准搜索。

5.3 下单收货地址界面包含多个输入框。顶部是地址标题栏,下方依次为姓名输入框、联系电话输入框、详细地址输入框(可具体到门牌号),还有省市区的下拉菜单选项,底部设有保存和默认地址勾选框。

5.5 商品详情界面上部展示农产品大图。中部有名称、价格、产地等基本信息,还有详细的产品描述,包括种植方式、保质期等。下部显示已购用户的评价与晒单,页面右侧设有加入购物车和立即购买按钮。

5.6 购物车界面以列表形式呈现。每行展示一款农产品的缩略图、名称、单价、数量及小计金额。有数量增减按钮来调整购买数量,底部显示总价以及结算和删除商品的按钮。

5.7 我的订单界面以列表展示订单。每个订单项显示订单编号、下单时间、农产品缩略图、名称、数量、总价。订单有不同状态标识,待付款、已付款、已发货等。

5.8 评价订单界面上方显示所购农产品名称、缩略图。中间是评分区域,可选择 1 - 5 星评价。下方为评价内容输入框,可输入文字描述使用感受、产品质量等,底部设有提交评价按钮,提交后显示评价成功提示。

5.9 管理员统计界面分三部分。上部是统计时间选择框。中部以图表呈现,柱状图展示不同农产品的销售数量,折线图反映销售额走势。下部是数据表格,列出各农产品的订单量、销售额等详细数据。

5.10 管理员管理用户界面左侧为用户列表,显示用户名、注册时间等基本信息。右侧为操作区,可查看用户详细资料,修改用户权限,封禁或解封用户账号,还能对用户进行分类筛选以便高效管理。

5.11 管理员管理商品界面,左侧栏为商品分类目录。右侧显示商品列表,含名称、图片、价格等信息。管理员可新增商品,输入详细信息上传图片;也能编辑已有商品信息,或下架商品。

5.12 管理员订单界面以表格形式呈现。表头包含订单编号、下单用户、下单时间、商品名称、数量、总价、订单状态等。管理员可按订单状态筛选,查看详情,对未发货订单修改发货状态,处理退款申请并记录操作日志。

5.13 商家退货界面顶部展示退货订单编号。中间部分呈现退货商品名称、图片、退货数量、退货原因(买家填写)。下方有审核按钮,商家可选择同意退货并填写退款金额,或拒绝退货并填写拒绝理由。

5.14 商家店铺界面上部显示店铺名称与标志。中部展示商家主营农产品的分类标签,点击可查看对应商品列表,列表包含商品图片、名称、价格、库存。

5.15 商家个人信息界面上部显示商家名称。中部为基本信息栏,有商家联系人、联系电话、电子邮箱等可编辑项。下方是店铺相关信息,如店铺地址、经营范围,底部设有保存修改按钮,用于更新信息。

六、部分功能代码

6.1 下单

public Result add(Order order) {

        Goods goods = goodsService.findById(order.getOrderDetailsList().get(0).getGoodsId());
        if (null == goods){
            return ResultGenerator.genFailResult(ResultCode.GOODS_NULL_ERROR,"商品不存在,请重新下单");
        }

        if (null == goods.getRepertory()){
            return ResultGenerator.genFailResult(ResultCode.GOODS_REPERTORY_ERROR,"商品不足,请联系管理员补货");
        }

        int count = orderDetailsService.getCountByGoodsId(order.getOrderDetailsList().get(0).getGoodsId());
        if (goods.getRepertory().intValue() < count){
            return ResultGenerator.genFailResult(ResultCode.GOODS_REPERTORY_ERROR,"商品不足,请联系管理员补货");
        }

        order.setId(DigitUtil.generatorLongId());

        //批量添加订单详情
        if (order.getOrderDetailsList().size() > 0){
            for (OrderDetails d: order.getOrderDetailsList()) {
                d.setOrderId(order.getId());
                d.setCreatedAt(new Date());
                d.setCreatedBy(order.getCreatedBy());
                d.setIsDelete(false);
            }
            orderDetailsService.save(order.getOrderDetailsList());
        }

        order.setBusinessId(1678286883L);
        order.setCreatedAt(new Date());
        order.setIsDelete(false);
        save(order);

        //下单成功库存-1
        goods.setRepertory(goods.getRepertory().subtract(BigDecimal.valueOf(1)));
        goodsService.update(goods);

        //同步删除购物车数据
        if (order.getCartId() != null && order.getCartId().size() > 0){
            Cart cart;
            for (Long id:order.getCartId()) {
                cart = new Cart();
                cart.setId(id);
                cart.setIsDelete(true);
                cartService.update(cart);
            }
        }

        Result result= ResultGenerator.genSuccessResult();
        result.setData(order);
        return result;
    }

七、答辩可能出现的问题

标签:goods,界面,销售,系统,订单,管理员,农产品,order
From: https://blog.csdn.net/qq_42190530/article/details/142670237

相关文章

  • 基于Java的百货中心管理系统的设计与实现(源码+文档+部署讲解等)
    文章目录1.前言2.详细视频演示3.程序运行示例图4.文档参考5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue5.3程序操作流程6.选题推荐7.原创毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • 基于SpringBoot+vue的办公用品管理系统设计与实现(源码+文档+部署讲解等)
    文章目录1.前言2.详细视频演示3.程序运行示例图4.文档参考5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue5.3程序操作流程6.选题推荐7.原创毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • 基于微信小程序的音乐在线播放系统的设计与实现springboot+vue的项目
    课题说明基于SpringBoot+Vue的微信小程序音乐在线播放系统为用户带来便捷的音乐体验。SpringBoot作为后端框架,负责音乐资源的存储管理、用户数据处理及接口服务。它确保音乐文件的安全存储和稳定传输,同时管理用户的播放历史、收藏列表等数据。Vue构建的微信小程序......
  • 基于微信小程序的医院医疗设备管理系统设计springboot+vue的项目
    课题说明基于SpringBoot+Vue的微信小程序医院医疗设备管理系统为医院的设备管理提供了高效便捷的解决方案。SpringBoot作为后端框架,负责处理设备信息存储、设备维护记录管理及数据交互等。它能确保设备数据的准确性和完整性。Vue构建的微信小程序前端,方便医院工作......
  • 基于SpringBoot+vue的小区物业管理系统(源码+文档+部署讲解等)
    文章目录1.前言2.详细视频演示3.程序运行示例图4.文档参考5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue5.3程序操作流程6.选题推荐7.原创毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • 基于Spring Boot的眼科健康管理与咨询系统设计与实现-毕业设计源码41891
    摘要本文介绍了一个基于SpringBoot的眼科健康管理与咨询系统的设计与实现。该系统旨在为用户提供便捷、个性化的眼科健康管理和咨询服务,包括病例信息管理、在线咨询、预约检查等功能。眼科健康管理与咨询系统具有以下主要功能:用户登录与注册、病例信息管理、在线咨询和预......
  • 基于springboot的水果商城系统的设计与实现java+vue(源码+lw+部署文档+讲解等)
    背景及意义该校园水果自动售卖系统基于SpringBoot+Vue技术构建,旨在为四川旅游学院的师生提供便捷、高效的水果购买服务。对于学生和教师而言,系统提供了直观友好的用户界面。通过手机或校内的终端设备,用户可以轻松访问系统。在界面上,用户能够清晰地看到各类水果的展......
  • 基于springboot的社团管理系统java+vue项目(源码+lw+部署文档+讲解等)
    背景及意义该社团管理系统基于SpringBoot+Vue技术构建,旨在为学校或组织的社团管理提供高效、便捷的解决方案。对于社团成员而言,系统提供了便捷的参与渠道。成员可以通过系统查看社团的详细信息,包括社团简介、宗旨、活动安排等,以便更好地了解社团文化和活动内容。在......
  • 基于nodejs+vue基于O2O模式的外卖订餐系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的生活方式正经历着深刻的变革。在快节奏的城市生活中,外卖订餐已成为众多消费者解决日常饮食需求的重要方式。传统的餐饮行业......
  • 基于nodejs+vue基于Redis的网约车系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着城市化进程的加速和共享经济的蓬勃发展,网约车系统已成为现代城市交通的重要组成部分。它不仅为乘客提供了便捷、灵活的出行方式,也为司机提供了增加收入......