# 概览

# g2rain开发平台是什么

g2rain为grain rain的简称,中文为谷雨; 取自谷雨生万物之意。

g2rain开发平台采用Spring cloud为基础的微服务架构,每个服务使用Spring boot框架进行开发;每个服务使用Rest格式提供接口,使用eureka实现服务注册发现。 使用maven构建项目,项目默认打包方式为docker镜像,便于部署,同时也会输出jar包。

# g2rain包含的项目

# g2rain-business开发平台核心功能集

  • 模块g2rain-business-tool

g2rain开发平台工具包,主要提供字符串,日期,签名等工具类,以及request和response的封装,异常控制等功能。其他项目通过maven引入使用:

<dependency>
	<groupId>com.g2rain.business</groupId>
	<artifactId>g2rain-business-tool</artifactId>
	<version>{具体版本号:0.0.1-SNAPSHOT}</version>
</dependency>
  • 模块g2rain-business-common

g2rain开发平台的通用包,主要提供其他服务共用能力,如:基础Po/Vo/SelectParam等,组织类型,发号器,数据隔离等。业务模块通过maven引入使用:

<dependency>
  <groupId>com.g2rain.business</groupId>
  <artifactId>g2rain-business-common</artifactId>
  <version>{具体版本号:0.1}</version>
</dependency>
  • 模块g2rain-business-registry-server

g2rain开发平台的注册服务。

  • 模块g2rain-business-config-server

g2rain开发平台的配置中心,其中配置文件也在项目src/main/resources/shard目录下。配置文件类型为YAML格式,后缀名"yml",文件名规则为"{项目名}-{spring.profiles.active}.yml"。如项目g2rain-business-base的docker环境的配置文件为g2rain-business-base-docker.yml。

  • 模块g2rain-business-base
    g2rain开发平台基础模块,包括账号,租户(业务数据主体),角色权限控制等模块。

  • 模块g2rain-business-gateway
    g2rain开发平台网关,实现路径转发,权限拦截控制,权限数据(租户信息,用户信息,账号信息)填充,错误码消息填充以及返回值ID名称转换等功能

  • 模块g2rain-business-gateway-shell
    g2rain开发平台网关数据服务,用于管理路由配置,错误配置等信息。

# g2rain-business-exts开发平台扩展功能集

  • 模块g2rain-business-member
    g2rain开发平台会员模块。

  • 模块g2rain-business-trade
    g2rain开发平台交易模块,包括交易订单信息,以及订单支付,系统默认支持新生支付。

  • 模块g2rain-business-product g2rain开发平台权益模块,实现权益定义,虚拟商品定义,以及权益的生成功能。

  • 模块g2rain-business-pay g2rain开发平台支付模块,目前已通过银联前置平台接入二维码支付,包括主扫,被扫。

  • 模块g2rain-business-terminal g2rain开发平台终端模块,用于实现二维码支付的终端管理功能。

# g2rain-business-bootstrap启动器

g2rain开发平台的操作命令和启动配置管理项目,是一个非Java或者web的项目结构。 主要内容介绍:

  • g2rain-config.sh
    配置文件生成脚本,使用secret.cfg和base.env中的配置生成docker-compose.yml启动文件所需的配置文件docker.env
  • base.env.template
    平台基础配置,运行g2rain-config.sh前需要复制为base.env,并设置为启动环境的真实数据。
  • secret.cfg.template
    秘钥相关配置,主要包括mysql,redis,rabbitmq等依赖服务的配置和密码,运行g2rain-config.sh前复制文件为secret.cfg,并设置为启动环境的真实数据。
  • g2rain-build.sh 编译脚本,编译Java或者前端代码,并生成服务启动需要的docker镜像。
  • g2rain-start.sh
    启动脚本,通过docker-compose启动整个平台服务,也支持启动docker-compose.yml中的单个服务。
  • startup.sh 该命令会顺序执行配置-编译-启动,用于首次启动全体服务。

# g2rain-business-mysql数据库镜像

g2rain开发平台所用的mysql数据库初始化docker镜像工程,其中cmd.sh文件为镜像的编译和运行的命令。

$ sh cmd.sh

数据库默认root密码为"OBb2w6jbWg",可以修改cmd命令中MYSQL_ROOT_PASSWORD的值,设置自定义密码。
如果不使用提供的镜像运行mysql实例,可以通过其他方式运行mysql实例后,导入init.d目录中的sql语句初始化所需数据库。

# g2rain-business-redis缓存镜像

g2rain开发平台所用的redis数据库初始化docker镜像工程,其中cmd.sh文件为镜像的编译和运行的命令。

$ sh cmd.sh

默认redis密码为"G2rainQ1w2e3r4", 可以通过项目中的redis.conf的requirepass对应的值。 如需修改redis其他配置,可以修改redis.conf;

# g2rain-business-rabbitmq消息镜像

g2rain开发平台所用的rabbitmq数据库初始化docker镜像工程,其中cmd.sh文件为镜像的编译和运行的命令。

$ sh cmd.sh

默认用户名dmin,默认密码:admin_Q1e3w2r4 可以通过cmd.sh中RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS修改用户名和密码。

# g2rain-business-admin后台管理页面

使用React组件开发的管理后台页面。 前端技术栈: webpack 4.x + react 16.x + babel 7.x + Axios 3.15 + antd 3.x

# g2rain-business-payh5

静态码扫码支付的h5页面,支持微信和支付码扫码支付。

# 常用链接

  • demo地址:http://demo.g2rain.com 用户名:admin 密码:admin_Q1e3w2r4
  • 接口文档地址:http://demo.g2rain.com/api/doc.html#/home
  • H-ui.admin.react帮助文档:http://www.h-ui.net
  • 注册中心地址:http://eurake.demo.g2rain.com