实现用户订单、在线支付接口(商业版可用)

This commit is contained in:
GoEdgeLab
2022-07-31 19:57:28 +08:00
parent e35ea9c56d
commit a3a6ba5df7
13 changed files with 6461 additions and 3060 deletions

View File

@@ -0,0 +1,15 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 订单支付方式
message OrderMethod {
int64 id = 1;
string name = 2;
string code = 3;
string description = 4;
string url = 5;
string secret = 6;
bool isOn = 7;
}

View File

@@ -0,0 +1,28 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user.proto";
import "models/model_order_method.proto";
// 用户订单
message UserOrder {
int64 userId = 2;
string code = 3;
string type = 4;
int64 orderMethodId = 5;
string status = 6;
float amount = 7;
bytes paramsJSON = 8;
int64 createdAt = 9;
int64 cancelledAt = 10;
int64 finishedAt = 11;
bool isExpired = 12;
User user = 30;
OrderMethod orderMethod = 31;
bool canPay = 32; // 是否可以支付
string payURL = 33; // 构造后的支付URL
}

View File

@@ -0,0 +1,94 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_order_method.proto";
import "models/rpc_messages.proto";
// 订单支付方式相关服务
service OrderMethodService {
// 创建支付方式
rpc createOrderMethod(CreateOrderMethodRequest) returns (CreateOrderMethodResponse);
// 修改支付方式
rpc updateOrderMethod(UpdateOrderMethodRequest) returns (RPCSuccess);
// 删除支付方式
rpc deleteOrderMethod(DeleteOrderMethodRequest) returns (RPCSuccess);
// 查找单个支付方式
rpc findEnabledOrderMethod(FindEnabledOrderMethodRequest) returns (FindEnabledOrderMethodResponse);
// 根据代号查找支付方式
rpc findEnabledOrderMethodWithCode(FindEnabledOrderMethodWithCodeRequest) returns (FindEnabledOrderMethodWithCodeResponse);
// 查找所有支付方式
rpc findAllEnabledOrderMethods(FindAllEnabledOrderMethodsRequest) returns (FindAllEnabledOrderMethodsResponse);
// 查找所有已启用的支付方式
rpc findAllEnabledAndOnOrderMethods(FindAllEnabledAndOnOrderMethodsRequest) returns (FindAllEnabledAndOnOrderMethodsResponse);
}
// 创建支付方式
message CreateOrderMethodRequest {
string name = 1;
string code = 2;
string description = 3;
string url = 4;
}
message CreateOrderMethodResponse {
int64 orderMethodId = 1;
}
// 修改支付方式
message UpdateOrderMethodRequest {
int64 orderMethodId = 1;
string name = 2;
string code = 3;
string description = 4;
string url = 5;
bool isOn = 6;
}
// 删除支付方式
message DeleteOrderMethodRequest {
int64 orderMethodId = 1;
}
// 查找单个支付方式
message FindEnabledOrderMethodRequest {
int64 orderMethodId = 1;
}
message FindEnabledOrderMethodResponse {
OrderMethod orderMethod = 1;
}
// 根据代号查找支付方式
message FindEnabledOrderMethodWithCodeRequest {
string code = 1;
}
message FindEnabledOrderMethodWithCodeResponse {
OrderMethod orderMethod = 1;
}
// 查找所有支付方式
message FindAllEnabledOrderMethodsRequest {
}
message FindAllEnabledOrderMethodsResponse {
repeated OrderMethod orderMethods = 1;
}
// 查找所有已启用的支付方式
message FindAllEnabledAndOnOrderMethodsRequest {
}
message FindAllEnabledAndOnOrderMethodsResponse {
repeated OrderMethod orderMethods = 1;
}

View File

@@ -2,6 +2,7 @@ syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_node.proto";
import "models/rpc_messages.proto";

View File

@@ -0,0 +1,79 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_user_order.proto";
import "models/rpc_messages.proto";
// 用户订单相关服务
service UserOrderService {
// 创建订单
rpc createUserOrder(CreateUserOrderRequest) returns (CreateUserOrderResponse);
// 查看订单
rpc findEnabledUserOrder(FindEnabledUserOrderRequest) returns (FindEnabledUserOrderResponse);
// 取消订单
rpc cancelUserOrder(CancelUserOrderRequest) returns (RPCSuccess);
// 完成订单
rpc finishUserOrder(FinishUserOrderRequest) returns (RPCSuccess);
// 计算订单数量
rpc countEnabledUserOrders(CountEnabledUserOrdersRequest) returns (RPCCountResponse);
// 列出单页订单
rpc listEnabledUserOrders(ListEnabledUserOrdersRequest) returns (ListEnabledUserOrdersResponse);
}
// 创建订单
message CreateUserOrderRequest {
string type = 1;
string orderMethodCode = 2;
float amount = 3;
}
message CreateUserOrderResponse {
string code = 1;
string payURL = 2;
}
// 查看订单
message FindEnabledUserOrderRequest {
string code = 1;
}
message FindEnabledUserOrderResponse {
UserOrder userOrder = 1;
}
// 取消订单
message CancelUserOrderRequest {
string code = 1;
}
// 完成订单
message FinishUserOrderRequest {
string code = 1;
}
// 计算订单数量
message CountEnabledUserOrdersRequest {
int64 userId = 1;
string keyword = 2;
string status = 3;
}
// 列出单页订单
message ListEnabledUserOrdersRequest {
int64 userId = 1;
string keyword = 2;
string status = 3;
int64 offset = 4;
int64 size = 5;
}
message ListEnabledUserOrdersResponse {
repeated UserOrder userOrders = 1;
}