feat: 添加评价微服务,支持密封互评与订单状态联动
This commit is contained in:
+50
-39
@@ -1,53 +1,64 @@
|
||||
syntax = "v1"
|
||||
|
||||
import "common.api"
|
||||
|
||||
type (
|
||||
Review {
|
||||
Id int64 `json:"id"`
|
||||
OrderId int64 `json:"orderId"`
|
||||
FromUserId int64 `json:"fromUserId"`
|
||||
FromUserName string `json:"fromUserName"`
|
||||
Rating int `json:"rating"`
|
||||
Content string `json:"content"`
|
||||
Sealed bool `json:"sealed"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
}
|
||||
|
||||
ReviewListResp {
|
||||
Items []Review `json:"items"`
|
||||
Meta PageMeta `json:"meta"`
|
||||
}
|
||||
|
||||
SubmitReviewReq {
|
||||
Rating int `json:"rating"`
|
||||
Content string `json:"content,optional"`
|
||||
}
|
||||
ReviewPathId {
|
||||
Id int64 `path:"id"`
|
||||
}
|
||||
Review {
|
||||
Id int64 `json:"id"`
|
||||
OrderId int64 `json:"orderId"`
|
||||
FromUserId int64 `json:"fromUserId"`
|
||||
FromUserName string `json:"fromUserName"`
|
||||
Rating int `json:"rating"`
|
||||
Content string `json:"content"`
|
||||
Sealed bool `json:"sealed"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
}
|
||||
ReviewListResp {
|
||||
Items []Review `json:"items"`
|
||||
Meta PageMeta `json:"meta"`
|
||||
}
|
||||
SubmitReviewReq {
|
||||
ReviewPathId
|
||||
Rating int `json:"rating"`
|
||||
Content string `json:"content,optional"`
|
||||
}
|
||||
GetOrderReviewsReq {
|
||||
ReviewPathId
|
||||
}
|
||||
ListUserReviewsReq {
|
||||
ReviewPathId
|
||||
PageReq
|
||||
}
|
||||
)
|
||||
|
||||
@server(
|
||||
prefix: api/v1
|
||||
group: review
|
||||
@server (
|
||||
prefix: api/v1
|
||||
group: review
|
||||
)
|
||||
service review-api {
|
||||
@doc "提交评价"
|
||||
@handler SubmitReview
|
||||
post /orders/:id/review (SubmitReviewReq) returns (EmptyResp)
|
||||
@doc "提交评价"
|
||||
@handler SubmitReview
|
||||
post /orders/:id/review (SubmitReviewReq) returns (EmptyResp)
|
||||
|
||||
@doc "获取订单评价"
|
||||
@handler GetOrderReviews
|
||||
get /orders/:id/reviews (EmptyResp) returns ([]Review)
|
||||
@doc "获取订单评价"
|
||||
@handler GetOrderReviews
|
||||
get /orders/:id/reviews (GetOrderReviewsReq) returns (ReviewListResp)
|
||||
}
|
||||
|
||||
@server(
|
||||
prefix: api/v1
|
||||
group: review
|
||||
@server (
|
||||
prefix: api/v1
|
||||
group: review
|
||||
)
|
||||
service review-api {
|
||||
@doc "获取公开评价列表"
|
||||
@handler ListReviews
|
||||
get /reviews (PageReq) returns (ReviewListResp)
|
||||
@doc "获取公开评价列表"
|
||||
@handler ListReviews
|
||||
get /reviews (PageReq) returns (ReviewListResp)
|
||||
|
||||
@doc "获取用户收到的评价"
|
||||
@handler ListUserReviews
|
||||
get /users/:id/reviews (ListUserReviewsReq) returns (ReviewListResp)
|
||||
}
|
||||
|
||||
@doc "获取用户收到的评价"
|
||||
@handler ListUserReviews
|
||||
get /users/:id/reviews (PageReq) returns (ReviewListResp)
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package ="./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
// ------------------------------------
|
||||
// Messages
|
||||
// ------------------------------------
|
||||
|
||||
//--------------------------------reviews--------------------------------
|
||||
message Reviews {
|
||||
int64 id = 1; //id
|
||||
int64 orderId = 2; //orderId
|
||||
int64 fromUserId = 3; //fromUserId
|
||||
string fromUserName = 4; //fromUserName
|
||||
string fromUserAvatar = 5; //fromUserAvatar
|
||||
int64 toUserId = 6; //toUserId
|
||||
int32 rating = 7; //rating
|
||||
string content = 8; //content
|
||||
bool sealed = 9; //sealed
|
||||
int64 createdAt = 10; //createdAt
|
||||
int64 unsealedAt = 11; //unsealedAt
|
||||
}
|
||||
|
||||
message AddReviewsReq {
|
||||
int64 orderId = 1; //orderId
|
||||
int64 fromUserId = 2; //fromUserId
|
||||
string fromUserName = 3; //fromUserName
|
||||
string fromUserAvatar = 4; //fromUserAvatar
|
||||
int64 toUserId = 5; //toUserId
|
||||
int32 rating = 6; //rating
|
||||
string content = 7; //content
|
||||
bool sealed = 8; //sealed
|
||||
int64 createdAt = 9; //createdAt
|
||||
}
|
||||
|
||||
message AddReviewsResp {
|
||||
int64 id = 1; //id
|
||||
}
|
||||
|
||||
message UpdateReviewsReq {
|
||||
int64 id = 1; //id
|
||||
optional int64 orderId = 2; //orderId
|
||||
optional int64 fromUserId = 3; //fromUserId
|
||||
optional string fromUserName = 4; //fromUserName
|
||||
optional string fromUserAvatar = 5; //fromUserAvatar
|
||||
optional int64 toUserId = 6; //toUserId
|
||||
optional int32 rating = 7; //rating
|
||||
optional string content = 8; //content
|
||||
optional bool sealed = 9; //sealed
|
||||
optional int64 createdAt = 10; //createdAt
|
||||
optional int64 unsealedAt = 11; //unsealedAt
|
||||
}
|
||||
|
||||
message UpdateReviewsResp {
|
||||
}
|
||||
|
||||
message DelReviewsReq {
|
||||
int64 id = 1; //id
|
||||
}
|
||||
|
||||
message DelReviewsResp {
|
||||
}
|
||||
|
||||
message GetReviewsByIdReq {
|
||||
int64 id = 1; //id
|
||||
}
|
||||
|
||||
message GetReviewsByIdResp {
|
||||
Reviews reviews = 1; //reviews
|
||||
}
|
||||
|
||||
message SearchReviewsReq {
|
||||
int64 offset = 1; //offset
|
||||
int64 limit = 2; //limit
|
||||
optional int64 id = 3; //id
|
||||
optional int64 orderId = 4; //orderId
|
||||
optional int64 fromUserId = 5; //fromUserId
|
||||
optional int64 toUserId = 6; //toUserId
|
||||
optional bool sealed = 7; //sealed
|
||||
}
|
||||
|
||||
message SearchReviewsResp {
|
||||
repeated Reviews reviews = 1; //reviews
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
// Rpc Func
|
||||
// ------------------------------------
|
||||
|
||||
service reviewService {
|
||||
//-----------------------reviews-----------------------
|
||||
rpc AddReviews(AddReviewsReq) returns (AddReviewsResp);
|
||||
rpc UpdateReviews(UpdateReviewsReq) returns (UpdateReviewsResp);
|
||||
rpc DelReviews(DelReviewsReq) returns (DelReviewsResp);
|
||||
rpc GetReviewsById(GetReviewsByIdReq) returns (GetReviewsByIdResp);
|
||||
rpc SearchReviews(SearchReviewsReq) returns (SearchReviewsResp);
|
||||
}
|
||||
Reference in New Issue
Block a user