【开源】基于JAVA+Vue+SpringBoot的校园电商物流云平台

这篇具有很好参考价值的文章主要介绍了【开源】基于JAVA+Vue+SpringBoot的校园电商物流云平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言



一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL 的校园电商物流云平台,包含了商品管理模块、快递公司模块、物流订单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,校园电商物流云平台基于角色的访问控制,给商家、物流公司、物流管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

互联网和电子商务行业已成为各产业升级创新的“发动机”,也是大众创业的肥沃土壤。各大院校纷纷在基于互联网或电子商务平台的大学生创业教育方面进行了探索和尝试。依托电子商务专业教育体系,立足于高校市场资源,利用新型的社群移动电商平台开展电子商务创业教育创新实践,取得了较好效果。本文旨在建立一个面向校园电商创业的物流云平台,采用Vue、SpringBoot、MySQL技术,包含数据中心模块、商品档案模块、快递公司模块、物流订单管理模块,对物流配送实现云平台管理。

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言

本文设计的面向校园电商创业的物流云平台的包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了商品档案模块、快递公司模块、物流订单模块这三大模块,用于存放系统的核心业务逻辑。

2.1 数据中心模块

数据中心模块包含了对面向校园电商创业的物流云平台的基础模块,比如管理谁可以登录这套系统,记录这些人登录系统做了什么,不同的人拥有不同权限的管理。

2.2 商品数据模块

商品数据模块用于对商品的数据进行管理,其中包括商品ID、商品名称、商品规格、商品图片、商品备注、归属人ID、归属人、创建人等,可以通过此模块对商品数据进行添加、编辑更新、删除、查询操作。

2.3 快递公司模块

快递公司模块是对快递公司的档案信息进行管理,快递公司是快递运输的主要参与者,快递公司字段包括公司简称、公司全名、LOGO、营业执照、地址、经营范围、备注、创建人等,管理员可以新增快递公司的数据,用户可以查询管理员发布的快递公司信息。

2.4 物流订单模块

物流订单模块是对商品数据的实例化,有了商品后,用户就可以对商品进行创建物流订单,这就产生了物流订单模块,其中包括物流单号、下单人ID、下单人、收件人、收件电话、收件地址、下单日期、订单状态、发货物流等,用户可以进行物流下单,快递公司可以操作发货,管理员可以删除物流订单。


三、系统设计

3.1 用例设计

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言

3.2 数据库设计

3.2.1 商品表

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言

3.2.2 快递公司表

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言

3.2.3 物流订单表

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言


四、系统展示

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言
校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言


五、核心代码

5.1 查询商品

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询商品")
public Result<IPage<Commodity>> getByPage(@ModelAttribute Commodity commodity ,@ModelAttribute PageVo page){
    QueryWrapper<Commodity> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    qw.eq("user_id",currUser.getId());
    if(!ZwzNullUtils.isNull(commodity.getTitle())) {
        qw.like("title",commodity.getTitle());
    }
    if(!ZwzNullUtils.isNull(commodity.getSpecs())) {
        qw.like("specs",commodity.getSpecs());
    }
    IPage<Commodity> data = iCommodityService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Commodity>>().setData(data);
}

5.2 查询快递公司

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询快递公司")
public Result<IPage<CourierCompany>> getByPage(@ModelAttribute CourierCompany courierCompany ,@ModelAttribute PageVo page){
    QueryWrapper<CourierCompany> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(courierCompany.getTitle())) {
        qw.like("title",courierCompany.getTitle());
    }
    if(!ZwzNullUtils.isNull(courierCompany.getCompanyName())) {
        qw.like("company_name",courierCompany.getCompanyName());
    }
    IPage<CourierCompany> data = iCourierCompanyService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<CourierCompany>>().setData(data);
}

5.3 查询物流订单

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询物流单")
public Result<IPage<LogisticsOrder>> getByPage(@ModelAttribute LogisticsOrder logisticsOrder ,@ModelAttribute PageVo page){
    QueryWrapper<LogisticsOrder> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");
    if(iUserService.count(userQw) < 1L) {
        // 判断物流
        QueryWrapper<User> userQw2 = new QueryWrapper<>();
        userQw2.eq("id",currUser.getId());
        userQw2.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1703243045803266048'");
        if(iUserService.count(userQw2) > 0L) {
            // 物流
            qw.eq("company_id",currUser.getCompanyId());
        } else {
            // 商家
            qw.eq("user_id",currUser.getId());
        }
    }
    if(!ZwzNullUtils.isNull(logisticsOrder.getCollectUser())) {
        qw.like("collect_user",logisticsOrder.getCollectUser());
    }
    if(!ZwzNullUtils.isNull(logisticsOrder.getCollectAddress())) {
        qw.like("collect_address",logisticsOrder.getCollectAddress());
    }
    if(!ZwzNullUtils.isNull(logisticsOrder.getStatus())) {
        qw.eq("status",logisticsOrder.getStatus());
    }
    IPage<LogisticsOrder> data = iLogisticsOrderService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<LogisticsOrder>>().setData(data);
}

5.4 新增物流订单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增物流单")
public Result<LogisticsOrder> insert(LogisticsOrder logisticsOrder){
    User currUser = securityUtil.getCurrUser();
    logisticsOrder.setUserId(currUser.getId());
    logisticsOrder.setUserName(currUser.getNickname());
    logisticsOrder.setDate(DateUtil.today());
    logisticsOrder.setStatus("待发货");
    logisticsOrder.setTime1("");
    logisticsOrder.setTime2("");
    logisticsOrder.setTime3("");
    String itemString = logisticsOrder.getItemString();
    List<LogisticsOrderItem> itemList = JSON.parseArray(itemString, LogisticsOrderItem.class);
    for (LogisticsOrderItem item : itemList) {
        Commodity commodity = iCommodityService.getById(item.getCommodityId());
        if(commodity == null) {
            return ResultUtil.error("商品不存在");
        }
        item.setCommodityName(commodity.getTitle() + " " + commodity.getSpecs());
    }
    iLogisticsOrderService.saveOrUpdate(logisticsOrder);
    for (LogisticsOrderItem item : itemList) {
        item.setOrderId(logisticsOrder.getId());
        iLogisticsOrderItemService.saveOrUpdate(item);
    }
    return new ResultUtil<LogisticsOrder>().setData(logisticsOrder);
}

5.5 快递收揽派签

@RequestMapping(value = "/changeStatus1", method = RequestMethod.POST)
@ApiOperation(value = "揽件")
public Result<Object> changeStatus1(@RequestParam String id){
    LogisticsOrder order = iLogisticsOrderService.getById(id);
    if(order == null) {
        return ResultUtil.error("物流单不存在");
    }
    order.setStatus("已揽件");
    order.setTime1(DateUtil.now());
    iLogisticsOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

@RequestMapping(value = "/changeStatus2", method = RequestMethod.POST)
@ApiOperation(value = "派送")
public Result<Object> changeStatus2(@RequestParam String id){
    LogisticsOrder order = iLogisticsOrderService.getById(id);
    if(order == null) {
        return ResultUtil.error("物流单不存在");
    }
    order.setStatus("已派送");
    order.setTime2(DateUtil.now());
    iLogisticsOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

@RequestMapping(value = "/changeStatus3", method = RequestMethod.POST)
@ApiOperation(value = "签收")
public Result<Object> changeStatus3(@RequestParam String id){
    LogisticsOrder order = iLogisticsOrderService.getById(id);
    if(order == null) {
        return ResultUtil.error("物流单不存在");
    }
    order.setStatus("已签收");
    order.setTime3(DateUtil.now());
    iLogisticsOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

@RequestMapping(value = "/fa", method = RequestMethod.POST)
@ApiOperation(value = "发货")
public Result<Object> fa(@RequestParam String id,@RequestParam String com){
    LogisticsOrder order = iLogisticsOrderService.getById(id);
    if(order == null) {
        return ResultUtil.error("物流单不存在");
    }
    if(!ZwzNullUtils.isNull(com)) {
        CourierCompany cc = iCourierCompanyService.getById(com);
        if(cc == null) {
            return ResultUtil.error("快递公司不存在");
        }
        order.setCompanyId(cc.getId());
        order.setCompanyName(cc.getTitle());
    } else {
        QueryWrapper<CourierCompany> ccQw = new QueryWrapper<>();
        ccQw.orderByAsc("order_number");
        ccQw.last("limit 1");
        CourierCompany cc = iCourierCompanyService.getOne(ccQw);
        if(cc == null) {
            return ResultUtil.error("系统没有注册快递公司");
        }
        order.setCompanyId(cc.getId());
        order.setCompanyName(cc.getTitle());
    }
    order.setStatus("待揽收");
    iLogisticsOrderService.saveOrUpdate(order);
    return ResultUtil.success();
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

校园电商物流云平台 java,java,开源,vue.js,spring boot,前端,开发语言文章来源地址https://www.toymoban.com/news/detail-813892.html

到了这里,关于【开源】基于JAVA+Vue+SpringBoot的校园电商物流云平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Java+SpringBoot+Vue物流物流中心信息化管理系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流 ✌ 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年02月20日
    浏览(34)
  • 【开源】基于Vue+SpringBoot的音乐平台

    项目编号: S 055 ,文末获取源码。 color{red}{项目编号:S055,文末获取源码。} 项目编号: S 055 ,文末获取源码。 基于微信小程序+JAVA+Vue+SpringBoot+MySQL的音乐平台,包含了音乐档案模块、音乐收藏模块、音乐订单模块,支持PC后台和微信小程序用户端使用,还包含系统自带的

    2024年02月04日
    浏览(30)
  • 基于java+springboot+vue的校园出入管理系统

    本论文主要论述了如何使用JAVA语言开发一个校园出入管理系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校园出入管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流

    2024年02月05日
    浏览(36)
  • Java+springboot+vue智慧校园源码,数据云平台Web端+小程序教师端+小程序家长端

    Java+springboot+vue +element-ui+小程序+电子班牌:Java Android+演示+自主版权。 智慧校园电子班牌人脸识别系统全套源码, 包含:数据云平台Web端+小程序教师端+小程序家长端+电子班牌 学生端。 电子班牌系统又称之为智慧班牌,是当前校园数字化信息化建设、文化建设的主流,是校

    2024年02月02日
    浏览(28)
  • 基于Java+SpringBoot+Vue前后端分离校园闲置物品交易网站

    博主介绍 : ✌ 全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月08日
    浏览(56)
  • 基于java+springboot+vue的校园保修系统微信小程序

    互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用基于web的校园

    2024年02月03日
    浏览(33)
  • 基于java SpringBoot和Vue uniapp的校园信息交流小程序

            随着信息社会的网络化和计算机科学的广泛普及和迅速普及应用,具有综合智能的我国校园信息教育网络已成为推动中小学科学教育及其实践科学发展的信息技术手段。迅速推进了信息化改革,改善了高校信息交流的网络环境,提高了信息教育平台的管理水平,大

    2024年02月08日
    浏览(33)
  • SpringBoot+MyBatisplus搭建校园新闻平台——已开源

    校园新闻平台是以新闻宣传机构的在线信息发布需求为基础,随着数字化和信息化的快速发展,校园新闻在校园内的传播和沟通中变得越来越重要。学校需要一个有效的管理系统来整合、发布和传播校园新闻,以满足师生、校友和其他利益相关者的信息需求。借助互联网技术

    2024年02月08日
    浏览(23)
  • 基于Java+SpringBoot+vue+elementui的校园文具商城系统详细设计和实现

    🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 📝 🚀🚀🚀 精彩系列推荐 Java毕设项目精品实战案例《1000套》 计算机的普及和互联网时代的到来使信息的发布和传播更加方便

    2024年02月01日
    浏览(37)
  • 【计算机毕业设计】基于springboot的校园跑腿任务管理系统java+vue

    校园跑腿管理系统又称“效率鸭”跑腿系统,是在学校进行现代化的信息管理和提供信息服务的基础,引导人们快速、准确地获取快递资源、预约洗浴并对外卖资源进行有效管理的保证。疫情当下,为了减少人员的聚集,因此,迫切需要专门开发一个管理系统,以实现对跑腿

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包