电商后台管理系统分享

一、资源包含:

  1. 源代码(前后端源代码+sql脚本)
  2. 配套文档(一万字)
  3. 一键启动项目
  4. 帮忙远程控屏调试

源代码和文档加文章下方的微信名片或者私信领取哦~

二、系统简介

本次开发的系统为基于VUE电商后管理系统,主要运用于协助电商从业者处理各种业务数据。该系统特点是功能基本能满足小型电商企业或个体户,轻便快捷又不缺失该有的功能。功能模块具体可分为:用户管理、商品管理、商品类型管理、订单管理。从功能结构上可以看出其优点是特别契合电商从业者的需求。用户初次登录该系统要初始化一个账号,系统把登陆过的账户保存在数据库里,形成一个用户列表,管理员可以查看更多非公开的数据,并且可以修改删除商品,管理员可以修改商品的基本信息如:商品的参数和商品的增删改查,还可以对商品的类别进行管理。对商品的订单进行管理,还可以及时查看订单的物理信息,随时查订单配送状态。

三、技术介绍

采用了目前最流行的前后端分离的开发模式,前端使用Vue 后端使用Springboot框架 数据库采用Mysql。

四、功能列表

 

(1)用户模块:包含用户登陆及用户信息的维护。

(2)权限模块:包含用户的的权限管理,用户的权限分配。

(3)商品模块:包含商品的分类、参数、图片等。

(4)订单模块:包含主页初始化菜单相关功能。

(5)数据统计:统计订单数据。

五、可行性分析

经济可行性

经济可行性是指系统投入市场后,获得的经济利益或者节约的经济利益大于开发软件所付出的成本。该电商后台管理系统主要服务于小型电商企业或者自营型电商公司,开发成本主要在人力成本以及服务器成本上。人力成本是指开发人员的设计与开发成本。服务器成本是指项目开发完成后,购买服务器部署项目的成本。当系统设计成功后,可以节省后期的人工投入,电商企业只需要少量的人力并且利用该系统进行商品的管理,无需手动记账,无需担心商品订单不完善。从这一层面看,前期投入的资金很快就可以从后期收获回来,并且实现盈利和现代化管理。可以得出结论,该系统的经济可行性是可行的。

技术可行性

该系统使用的主要技术有:本次开发前端基于VUE框架,使用了VSCode和作为开发工具;后端基于Springboot框架,使用了IntelliJ IDE作为开发工具,布局内容采用elementUi,使用axios进行数据交互。 数据库搭建用的是mysql。这些就现在企业开发用的较多,而且开发社区人员活跃,技术发展成熟,已经在很多项目中到了验证。因此,该系统的开发技术可行性也是没有问题。

操作可行性

该系统界面友好,操作简单,按照界面文字提示进行各项操作难度不大。每个人都可以轻松掌握该系统的操作方法。该系统在操作可行性上大有优势,可以兼顾无计算机基础的人使用。

六、系统截图

 

package com.college.shopping.service.impl;

import com.college.shopping.common.ResponseResult;
import com.college.shopping.domain.*;
import com.college.shopping.mapper.ShoppingCodeMapper;
import com.college.shopping.mapper.ShoppingOrderDetailMapper;
import com.college.shopping.mapper.ShoppingOrderMapper;
import com.college.shopping.mapper.ShoppingTransportTraceMapper;
import com.college.shopping.service.OrderService;
import com.college.shopping.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

@Service
public class OrderServiceImpl implements OrderService
{
    @Autowired
    private ShoppingOrderMapper shoppingOrderMapper;
    @Autowired
    private ShoppingOrderDetailMapper shoppingOrderDetailMapper;
    @Autowired
    private ShoppingTransportTraceMapper shoppingTransportTraceMapper;
    @Autowired
    private ShoppingCodeMapper shoppingCodeMapper;
    /**
     * 商品列表查询(包含无条件的查询和有条件的查询)
     * @return
     * @throws Exception
     */
    @Override
    public ResponseResult getOrderList(QueryInfoVo queryInfoVo) throws Exception
    {
        int pageNum = queryInfoVo.getPageNum();
        int pageSize = queryInfoVo.getPageSize();
        String query = queryInfoVo.getQuery();

        List<OrderVo> orderVoList = new ArrayList<OrderVo>();
        long total = 0;

        if("".equals(query) || query == null)
        {

            total = shoppingOrderMapper.countByExample(new ShoppingOrderCondition());
            orderVoList = queryShoppingOrder(pageNum,pageSize);

        }
        else
        {
            orderVoList = queryShoppingOrder(pageNum,pageSize,query);
            total = orderVoList.size();
        }

        return new ResponseResult("200",total,orderVoList);
    }

    @Override
    public ResponseResult getOrderDetailInfo(OrderVo orderVo) throws Exception {
        String id = orderVo.getId();

        OrderInfoVo orderDetailVo = new OrderInfoVo();
        OrderVo newOrderVo = null;
        List<SubOrderVo> subOrderVoList = new ArrayList<>();
        List<OrderTranportVo> orderTranportVoList = new ArrayList<>();

        //1.获取订单的总体信息
        ShoppingOrder shoppingOrder = shoppingOrderMapper.selectByPrimaryKey(id);
        newOrderVo =transformOrderVo(shoppingOrder);

        //2.获取子订单的信息
        List<ShoppingOrderDetail> shoppingOrderDetailList = new ArrayList<>();
        ShoppingOrderDetailCondition shoppingOrderDetailCondition = new ShoppingOrderDetailCondition();
        shoppingOrderDetailCondition.createCriteria().andOrderidEqualTo(id);

        shoppingOrderDetailList = shoppingOrderDetailMapper.selectByExample(shoppingOrderDetailCondition);
        if(shoppingOrderDetailList != null)
        {
            for(int i =0 ; i<shoppingOrderDetailList.size() ; i++)
            {
                subOrderVoList.add(transformSubOrderVo(shoppingOrderDetailList.get(i)));
            }
        }

        //3.获取订单的物流信息
        List<ShoppingTransportTrace> shoppingTransportTraceList = new ArrayList<>();
        ShoppingTransportTraceCondition shoppingTransportTraceCondition = new ShoppingTransportTraceCondition();
        shoppingTransportTraceCondition.createCriteria().andOrderidEqualTo(id);

        shoppingTransportTraceList = shoppingTransportTraceMapper.selectByExample(shoppingTransportTraceCondition);

        for(int i =0 ; i<shoppingTransportTraceList.size() ; i++)
        {
            orderTranportVoList.add(transformOrderTranportVo(shoppingTransportTraceList.get(i)));
        }

        //4.组装数据
        orderDetailVo.setOrderVo(newOrderVo);
        orderDetailVo.setSubOrderVoList(subOrderVoList);
        orderDetailVo.setOrderTranportVoList(orderTranportVoList);

        return new ResponseResult("200",orderDetailVo);
    }

    @Override
    public ResponseResult getOrderTransportInfo() throws Exception {
        return null;
    }

    @Override
    public ResponseResult updateOrderStatus(OrderVo orderVo) throws Exception
    {
        String id = orderVo.getId();
        String orderStatus = orderVo.getOrderstatus();
        String orderStatusDes = "";
        ShoppingOrder shoppingOrder  = shoppingOrderMapper.selectByPrimaryKey(id);

        ShoppingCodeCondition shoppingCodeCondition = new ShoppingCodeCondition();
        shoppingCodeCondition.createCriteria().andCodetypeEqualTo("orderStatus");
        List<ShoppingCode> shoppingCodeList = shoppingCodeMapper.selectByExample(shoppingCodeCondition);

        for(int i =0 ; i<shoppingCodeList.size() ; i++)
        {
            if(orderStatus.equals(shoppingCodeList.get(i).getCodename()))
            {
                orderStatusDes = shoppingCodeList.get(i).getCodevlaue();
                break;
            }
        }
        shoppingOrder.setOrderstatus(orderStatus);
        shoppingOrder.setOrderstatusdes(orderStatusDes);

        shoppingOrderMapper.updateByPrimaryKeySelective(shoppingOrder);

        return new ResponseResult("200","更新订单状态成功!");

    }


    /**
     * 无条件查询订单信息
     * @param pageNum
     * @param pageSize
     * @return
     */
    private List<OrderVo> queryShoppingOrder( int pageNum, int pageSize)
    {
        List<OrderVo> orderVoList = new ArrayList<OrderVo>();
        ShoppingOrderCondition shoppingOrderCondition = new ShoppingOrderCondition();
        shoppingOrderCondition.setPageNo(pageNum);
        shoppingOrderCondition.setPageSize(pageSize);

        List<ShoppingOrder> shoppingOrderList = shoppingOrderMapper.selectByExample(shoppingOrderCondition);

        if(shoppingOrderList != null)
        {
            for (int i = 0; i < shoppingOrderList.size(); i++)
            {
                orderVoList.add(transformOrderVo(shoppingOrderList.get(i)));
            }
        }

        return orderVoList;


    }

    /**
     * 有条件查询订单信息
     * @param pageNum
     * @param pageSize
     * @param query
     * @return
     */
    private List<OrderVo> queryShoppingOrder( int pageNum, int pageSize,String query)
    {
        List<OrderVo> orderVoList = new ArrayList<OrderVo>();

        ShoppingOrder  shoppingOrder = shoppingOrderMapper.selectByPrimaryKey(query.trim());

        if(shoppingOrder!= null)
        {
            orderVoList.add(transformOrderVo(shoppingOrder));
        }

        return orderVoList;
    }


    private OrderVo transformOrderVo( ShoppingOrder shoppingOrder)
    {
        OrderVo orderVo = new OrderVo();

        orderVo.setId(shoppingOrder.getId());
        orderVo.setOrderprice(shoppingOrder.getOrderprice());
        orderVo.setOrderdestination(shoppingOrder.getOrderdestination());
        orderVo.setOrderstatus(shoppingOrder.getOrderstatus());
        orderVo.setOrderstatusdes(shoppingOrder.getOrderstatusdes());
        orderVo.setOrdercreatetime(new SimpleDateFormat("yyyy-MM-dd").format(shoppingOrder.getOrdercreatetime()));

        return orderVo;
    }

    private SubOrderVo transformSubOrderVo(ShoppingOrderDetail shoppingOrderDetail)
    {
        SubOrderVo subOrderVo = new SubOrderVo();

        subOrderVo.setId(shoppingOrderDetail.getId());
        subOrderVo.setOrderid(shoppingOrderDetail.getOrderid());
        subOrderVo.setGoodsid(shoppingOrderDetail.getGoodsid());
        subOrderVo.setGoodsname(shoppingOrderDetail.getGoodsname());
        subOrderVo.setGoodscount(shoppingOrderDetail.getGoodscount());
        subOrderVo.setGoodssumprice(shoppingOrderDetail.getGoodssumprice());

        return subOrderVo;
    }

    private OrderTranportVo transformOrderTranportVo(ShoppingTransportTrace shoppingTransportTrace)
    {
        OrderTranportVo orderTranportVo = new OrderTranportVo();

        orderTranportVo.setId(shoppingTransportTrace.getId());
        orderTranportVo.setOrderid(shoppingTransportTrace.getOrderid());
        orderTranportVo.setArrivetime(new SimpleDateFormat("yyyy-MM-dd hh:mm").format(shoppingTransportTrace.getArrivetime()));
        orderTranportVo.setArrivedes(shoppingTransportTrace.getArrivedes());

        return orderTranportVo;
    }




}

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值