您好,欢迎来到刀刀网。
搜索
您的当前位置:首页贸易行业CRM|基于springBoot的贸易行业crm系统设计与实现(附项目源码+论文+数据库)

贸易行业CRM|基于springBoot的贸易行业crm系统设计与实现(附项目源码+论文+数据库)

来源:刀刀网


一、摘要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于springboot的贸易行业crm系统的开发全过程。通过分析基于springboot的贸易行业crm系统管理的不足,创建了一个计算机管理基于springboot的贸易行业crm系统的方案。文章介绍了基于springboot的贸易行业crm系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本基于springboot的贸易行业crm系统有管理员和员工两个角色。管理员功能有个人中心,部门管理,员工管理,产品分类管理,产品信息管理,客户信息管理,市场活动管理,销售订单管理,配送订单管理。员工可以操作自己的个人中心,客户信息,产品信息,销售订单,配送订单,售后回访等。因而具有一定的实用性。

本站是一个B/S模式系统,采用Spring Boot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于springboot的贸易行业crm系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高基于springboot的贸易行业crm系统管理效率。

关键词:基于springboot的贸易行业crm系统;Spring Boot框架;MYSQL数据库

二、相关技术

java、tomcat、mysql、spring、springBoot、mybatis、query、vue

三、系统设计

3.1 整体功能设计图

 3.2 功能具体细节设计   

1、管理员模块的实现
员工信息管理

基于springboot的贸易行业crm系统的系统管理员可以对员工信息进行添加修改删除以及查询操作。具体界面的展示如图5.1所示。

部门信息管理

系统管理员可以查看对部门信息进行添加,修改,删除以及查询操作。具体界面如图5.2所示。

产品信息管理

系统管理员可以对产品信息信息进行修改,删除以及查询操作。界面如下图所示:

销售订单管理

系统管理员可以对销售订单进行添加修改删除操作。界面如下图所示:

前台首页

普通员工都可以在前台首页查看相关信息,首页上面有导航栏。界面如下图所示:

企业公告

用户可以查看和搜索企业公告。界面如下图所示:

售后回访管理

用户登录后可以在后台查看售后回访信息。界面如下图所示:

四、数据库设计  

(1)管理员信息的实体属性图如下:

(2)产品分类实体属性图如图4.13所示:

(3)部门分类实体属性图如图4.14所示:

五、核心代码   

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        ShigudengjiEntity shigudengji = shigudengjiService.selectById(id);
        if(shigudengji !=null){
            //entity转view
            ShigudengjiView view = new ShigudengjiView();
            BeanUtils.copyProperties( shigudengji , view );//把实体数据重构到view中

                //级联表
                YonghuEntity yonghu = yonghuService.selectById(shigudengji.getYonghuId());
                if(yonghu != null){
                    BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setYonghuId(yonghu.getId());
                }
                //级联表
                YuangongEntity yuangong = yuangongService.selectById(shigudengji.getYuangongId());
                if(yuangong != null){
                    BeanUtils.copyProperties( yuangong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setYuangongId(yuangong.getId());
                }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody ShigudengjiEntity shigudengji, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,shigudengji:{}",this.getClass().getName(),shigudengji.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(StringUtil.isEmpty(role))
            return R.error(511,"权限为空");
        else if("员工".equals(role))
            shigudengji.setYuangongId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));

        Wrapper<ShigudengjiEntity> queryWrapper = new EntityWrapper<ShigudengjiEntity>()
            .eq("yonghu_id", shigudengji.getYonghuId())
            .eq("yuangong_id", shigudengji.getYuangongId())
            .eq("shigudengji_uuid_number", shigudengji.getShigudengjiUuidNumber())
            .eq("shigudengji_name", shigudengji.getShigudengjiName())
            .eq("shigudengji_types", shigudengji.getShigudengjiTypes())
            .eq("zeren_types", shigudengji.getZerenTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        ShigudengjiEntity shigudengjiEntity = shigudengjiService.selectOne(queryWrapper);
        if(shigudengjiEntity==null){
            shigudengji.setInsertTime(new Date());
            shigudengji.setCreateTime(new Date());
            shigudengjiService.insert(shigudengji);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

六、论文参考  

七、源码获取 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务