- 进入服务工作区
1 | bash复制代码$ cd mall/service/pay |
7.1 生成 pay model 模型
- 创建 sql 文件
1 | bash复制代码$ vim model/pay.sql |
- 编写 sql 文件
1 | sql复制代码CREATE TABLE `pay` ( |
- 运行模板生成命令
1 | bash复制代码$ goctl model mysql ddl -src ./model/pay.sql -dir ./model -c |
7.2 生成 pay api 服务
- 创建 api 文件
1 | bash复制代码$ vim api/pay.api |
- 编写 api 文件
1 | go复制代码type ( |
- 运行模板生成命令
1 | bash复制代码$ goctl api go -api ./api/pay.api -dir ./api |
7.3 生成 pay rpc 服务
- 创建 proto 文件
1 | bash复制代码$ vim rpc/pay.proto |
- 编写 proto 文件
1 | protobuf复制代码syntax = "proto3"; |
- 运行模板生成命令
1 | bash复制代码$ goctl rpc protoc ./rpc/pay.proto --go_out=./rpc/types --go-grpc_out=./rpc/types --zrpc_out=./rpc |
7.4 编写 pay rpc 服务
7.4.1 修改配置文件
- 修改 pay.yaml 配置文件
1 | bash复制代码$ vim rpc/etc/pay.yaml |
- 修改服务监听地址,端口号为0.0.0.0:9003,
Etcd
服务配置,Mysql
服务配置,CacheRedis
服务配置
1 | yaml复制代码Name: pay.rpc |
7.4.2 添加 pay model 依赖
- 添加
Mysql
服务配置,CacheRedis
服务配置的实例化
1 | bash复制代码$ vim rpc/internal/config/config.go |
1 | go复制代码package config |
- 注册服务上下文
pay model
的依赖
1 | bash复制代码$ vim rpc/internal/svc/servicecontext.go |
1 | go复制代码package svc |
7.4.3 添加 user rpc,order rpc 依赖
- 添加
user rpc, order rpc
服务配置
1 | bash复制代码$ vim rpc/etc/pay.yaml |
1 | yaml复制代码Name: pay.rpc |
- 添加
user rpc, order rpc
服务配置的实例化
1 | bash复制代码$ vim rpc/internal/config/config.go |
1 | go复制代码package config |
- 注册服务上下文
user rpc, order rpc
的依赖
1 | go复制代码$ vim rpc/internal/svc/servicecontext.go |
1 | go复制代码package svc |
7.4.4 添加支付创建逻辑 Create
- 添加根据
oid
查询订单支付记录PayModel
方法FindOneByOid
1 | bash复制代码$ vim model/paymodel.go |
1 | go复制代码package model |
- 添加支付创建逻辑
1 | bash复制代码$ vim rpc/internal/logic/createlogic.go |
1 | go复制代码package logic |
7.4.5 添加支付详情逻辑 Detail
1 | bash复制代码$ vim rpc/internal/logic/detaillogic.go |
1 | go复制代码package logic |
7.4.6 添加支付回调逻辑 Callback
1 | bash复制代码$ vim rpc/internal/logic/callbacklogic.go |
1 | go复制代码package logic |
7.5 编写 pay api 服务
7.5.1 修改配置文件
- 修改 pay.yaml 配置文件
1 | bash复制代码$ vim api/etc/pay.yaml |
- 修改服务地址,端口号为0.0.0.0:8003,
Mysql
服务配置,CacheRedis
服务配置,Auth
验证配置
1 | yaml复制代码Name: Pay |
7.5.2 添加 pay rpc 依赖
- 添加
pay rpc
服务配置
1 | bash复制代码$ vim api/etc/pay.yaml |
1 | yaml复制代码Name: Pay |
- 添加
pay rpc
服务配置的实例化
1 | bash复制代码$ vim api/internal/config/config.go |
1 | go复制代码package config |
- 注册服务上下文
pay rpc
的依赖
1 | bash复制代码$ vim api/internal/svc/servicecontext.go |
1 | go复制代码package svc |
7.5.3 添加支付创建逻辑 Create
1 | bash复制代码$ vim api/internal/logic/createlogic.go |
1 | go复制代码package logic |
7.5.4 添加支付详情逻辑 Detail
1 | bash复制代码$ vim api/internal/logic/detaillogic.go |
1 | go复制代码package logic |
7.5.5 添加支付回调逻辑 Callback
1 | bash复制代码$ vim api/internal/logic/callbacklogic.go |
1 | go复制代码package logic |
7.6 启动 pay rpc 服务
!提示:启动服务需要在
golang
容器中启动
1 | bash复制代码$ cd mall/service/pay/rpc |
7.7 启动 pay api 服务
!提示:启动服务需要在
golang
容器中启动
1 | bash复制代码$ cd mall/service/pay/api |
项目地址:github
上一篇《go-zero实战:让微服务Go起来——6 订单服务(order)》
下一篇《go-zero实战:让微服务Go起来——8 RPC服务 Auth 验证》
本文转载自: 掘金