zl程序教程

您现在的位置是:首页 >  Java

当前栏目

【程序源代码】Java版企业微信SCRM系统

2023-03-07 09:03:42 时间


“ 关键字: “ 开源 营销自动化 "

1、概述

MarketGo Java版企业微信SCRM系统

MarketGo 中国式营销自动化开源项目标杆

在介绍本项目之前,首先和大家谈一谈在中国做营销遇到的诸多问题:

我想以下这些话可能比一份源代码更重要

国外的营销触达通道比较单一,主要以EDM为主。国内就复杂很多,回想一下当前国内做用户的营销触达主要的场景通道都有哪些。

企业微信(私聊、社群、朋友圈)

微信公众号

小程序

视频号

抖音

短信

邮件

其他

虽然国内已经有非常多的 MarTech 公司做出了非常优秀的 SaaS 产品服务,但是国内的市场需求依然没有得到充分满足。主要体现在以下几点:

痛企业更注重客户的数据安全,私有化部署意愿强烈。

痛经营场景复杂,需要同全域经营场景打通做一体化营销,而不是单纯的买一套系统工具。

痛需要源代码,越来越多的企业开始选择自建,以打造出更适合自己业务的营销系统。其背后的主要原因就是市场上直接采购的 SaaS 标准工具“不业务”。

基于以上的痛点若稍具规模的企业想要解决以上问题,只有自建一条路,但是选择自建碰到最大的问题就是:

从 0-1 自建时间和资金成本高

一个复杂的营销自动化系统从 0-1 开发出来并没有想象的那么简单,都需要浪费大量的人力和物力,甚至短期内是看不见什么成果的,很容易导致不了了之。那么有什么好的办法能解决呢?

基于以上背景,国内目前暂无好的开源的营销自动化项目,MarketGo 在此背景下特意开源出来,以为国内数字化营销贡献绵薄之力

MarketGo 更像是一个 SDK 、引擎,通过提供的标准化功能和基础能力,让开发者能快速搭建一个营销自动化系统,快速完成从 0-1 的过程,并且能基于开放的能力和源码,开发深度融合自身业务的营销系统。

但一个新产品也不是能一蹴而就的,MarketGo 作为领域的产品新秀,也需要一步一个脚印逐步向前迈进。对未来的发展主要分以下几个阶段:

MVP 版本验证

此阶段我们结合了当下私域营销的趋势,选择了优先从企业微信SCRM场景切入。

在这个阶段我们会提供个比较基础的企业微信SCRM功能,保留了其灵活的扩展性,便于开发者能够快速基于 MarketGo 开发自己想要的 SCRM 功能。

平台基础能力搭建

此阶段我们会重点完善平台的能力,设计出更多的插件机制和平台能力,为开发者的二开提供更多的便利。

在这个阶段我们会接入更多的营销场景通道、人群圈选能力、任务下发能力、内容导入能力、自动化能力等。

应用快速迭代

此阶段我们会快速基于场景开发出更多应用和打通更多第三方应用。

使用本系统进行商业化之前 请注意以下几点

本系统不允许做云上的系统直接集成并以此来售卖,如果公司确实需要把本系统集成到项目里,请公司联系我,否则视为侵权

任何公司需要集成本项目并以此来售卖,请联系我并提供公司名字,否则视为侵权

任何个人需要集成本项目并以此来售卖,请联系我并提供公司名字,否则视为侵权

任何国家机关以及公益机构以及学校对本项目可以无限制使用,本人愿意无偿提供其集成以及探讨问题,算是为国家出一份自己微薄的力量

2、产品介绍

2.1、系统登录页:

2.2、项目面板:

系统支持多项目管理

2.3、系统控制台:

2.4、渠道活码:

2.5、客户列表:

2.6、群发客户:

2.7、群发客户群:

2.8、群发朋友圈:

2.9、系统设置:

3、部署流程

3.1、服务器配置

类型

配置

操作系统

CentOS 7.6

CPU

4核

内存

8G

硬盘

80G

带宽

3M

3.2、端口设置

服务

端口

zookeeper

2181

mktgo-gateway

8521

mktgo-web

8520

dubbo

28090

Xxl-job

8580

redis

6379

mysql

3306

3.3、环境准备

3.3.1、环境配置

组件名称

版本号

JDK

1.8

mysql

5.7.0

redis

7.0.2

rabbitmq

3.10.0

nginx

1.20.1

zookeeper

3.4.6

3.3.2、JDK

yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel

#设置环境变量
vi  /etc/profile

#添加一下信息
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

#保存加载
source  /etc/profile

3.3.3、mysql

#创建项目目录
mkdir -p /opt/soft/marketgo/mysql
cd /opt/soft/marketgo/mysql
#下载mysql
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
#解压
tar xf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
#安装
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm --nodeps --force

rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm --nodeps --force

#启动服务
systemctl start mysqld

systemctl enable mysqld

systemctl status mysqld

#查询密码
grep 'temporary password' /var/log/mysqld.log

#登录并修改密码
mysql -u root -p'password'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MarketGo@mysql2022';

3.3.4、redis

#创建项目目录
mkdir -p /opt/soft/marketgo/redis
cd /opt/soft/marketgo/redis
wget https://github.com/redis/redis/archive/7.0.2.tar.gz
tar -zxvf 7.0.2.tar.gz
mv redis-7.0.2 /usr/local/redis
cd /usr/local/redis/
make
make install PREFIX=/usr/local/redis


# 配置redis 密码及参数
vim /usr/local/redis/redis.conf

#修改如下配置
daemonize yes
protected-mode no

./bin/redis-server redis.conf

3.3.5、rabbitmq

#创建项目目录
mkdir -p /opt/soft/marketgo/rabbitmq
cd /opt/soft/marketgo/rabbitmq
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install erlang -y
erl -version

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
yum install rabbitmq-server -y
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user admin 'admin'
rabbitmqctl set_user_tags admin administrator
ps -ef | grep rabbitmq

3.3.6、nginx

yum info nginx

yum install nginx

service nginx start

nginx -v

3.3.7、zookeeper
mkdir -p /opt/soft/marketgo/zookeeper
cd  /opt/soft/marketgo/zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar -zxvf zookeeper-3.4.6.tar.gz
cd zookeeper-3.4.6/conf/
mv zoo_sample.cfg zoo.cfg
./bin/zkServer.sh start
ps -ef | grep zookeeper

3.4、前端部署

#下载代码,进入根目录下的version目录,上传dist.zip
scp dist.zip root@${IP}:/opt/soft/marketgo/
#登录服务器,进入/opt/soft/marketgo/
unzip dist.zip
mv dist html

#修改服务器地址
cd /opt/soft/marketgo/html
#修改服务器的地址
vim env.js

3.5、后端部署

3.5.1、环境设置

3.5.1.1、设置nginx

修改nginx.conf

vim /etc/nginx/nginx.conf

nginx.conf

http {
    gzip on;
    gzip_static on;
    gzip_disable "msie6";
    gzip_min_length 100k;
    gzip_buffers 4 16k;
    gzip_comp_level 5;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;
    client_max_body_size  20m;
    client_body_buffer_size 20m;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  localhost;

       location / {
            proxy_set_header Host $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_buffer_size  128k;
            proxy_buffers   32 32k;
            proxy_busy_buffers_size 128k;
            proxy_connect_timeout       60;
            proxy_send_timeout          60;
            proxy_read_timeout          60;
            send_timeout                60;

            root   /opt/soft/marketgo/html;
            index  index.html index.htm;
        }
        location /web {
        if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin '$http_origin';
         add_header Access-Control-Allow-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,api-token,header-api-token,language,Api-Token,isPlatform';
         add_header 'Access-Control-Allow-Methods' 'GET, POST, DELETE, OPTIONS, PUT';
         add_header Access-Control-Allow-Credentials 'true';
            return 204;
         }
            proxy_pass http://127.0.0.1:8520/;
        }

        location /api {
            proxy_pass http://127.0.0.1:8521/;
        }
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

    }

重新加载nginx

#重新加载conf
/usr/sbin/nginx -s reload

#重启
systemctl restart nginx

3.5.1.2、设置hosts
#配置hosts
vim /etc/hosts

#添加以下配置
127.0.0.1  dev-marketgo.com zk.dev-marketgo.com redis.dev-marketgo.com rabbitmq.dev-marketgo.com  mysql.dev-marketgo.com
127.0.0.1  xxl-job.dev-marketgo.com

#加载
source /etc/hosts

3.5.1.3、设置数据库
#下载代码,进入根目录下的version目录,上传xxl-job的数据库
scp xxl-job.zip root@${IP}:/opt/soft/marketgo
#解压
unzip xxl-job.zip
#登录mysql,加载xxl-job数据库
source /opt/soft/marketgo/xxl-job/tables_xxl_job.sql
#导入定时任务的信息
source /opt/soft/marketgo/xxl-job/xxl_job.sql

#下载代码,进入根目录下的version目录,上传marketgo的数据库
scp web.zip root@${IP}:/opt/soft/marketgo
#解压
unzip web.zip
#登录mysql,加载marketgo数据库
source /opt/soft/marketgo/web/marketgo.sql
3.5.1.4、添加rabbitmq虚拟机

rabbitmqctl add_vhost /wecom
rabbitmqctl set_permissions -p /wecom admin '.*' '.*' '.*'
systemctl restart rabbitmq-server.service

3.5.2、部署安装包

3.5.2.1、部署xxl-job
#登录服务器, 创建日志文件
mkdir -p /opt/soft/marketgo/logs/xxl-job
#进入/opt/soft/marketgo/xxl-job
chmod +777 xxl-job-admin-2.3.1.jar
#启动服务
java -jar xxl-job-admin-2.3.1.jar  & >> /opt/soft/marketgo/logs/xxl-job/xxl-job.log

3.5.2.2、部署gateway服务
#下载代码,进入根目录下的version目录,上传gateway.zip
scp gateway.zip root@${IP}:/opt/soft/marketgo/
#登录服务器,进入/opt/soft/marketgo/
unzip gateway.zip
cd gateway
chmod +777 *
./start_service.sh start

3.5.2.3、部署web服务
#下载代码,进入根目录下的version目录,上传web.zip
scp web.zip root@${IP}:/opt/soft/marketgo/
#登录服务器,进入/opt/soft/marketgo/
unzip web.zip
cd web
chmod +777 *
./start_service.sh start

————

【代码获取】

源码是gitee开源版本,可放心使用。可通过如下链接获取。如果商用请与原作者联系。源码

https://gitee.com/kevinwangwn0209/MarketGo?_from=gitee_search