micro-bundle/pb/bundle.proto
2025-06-13 16:47:23 +08:00

492 lines
18 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package bundle;
option go_package = "./bundle";
import "pb/descriptor.proto";
import "pb/validator.proto";
service Bundle {
rpc CreateBundle(BundleProfile) returns (CommonResponse) {}
rpc UpdateBundle(BundleProfile) returns (CommonResponse) {}
rpc DeleteBundle(DelBundleRequest) returns (CommonResponse) {}
rpc HandShelf(HandShelfRequest) returns(CommonResponse) {} //更新套餐上下架状态
rpc SaveBundle(BundleProfile)returns (SaveResponse) {}
rpc BundleListV2(BundleListRequest) returns(BundleListResponse) {}
rpc BundleDetailV2(BundleDetailRequest) returns(BundleDetailResponseV2) {}
rpc BundleList(BundleListRequest) returns (BundleListResponse) {}
rpc BundleDetail(BundleDetailRequest) returns (BundleDetailResponse) {}
rpc CreateOrderRecord(OrderRecord) returns (CommonResponse) {}
rpc UpdateOrderRecord(OrderRecord) returns (CommonResponse) {}
rpc UpdateOrderRecordByOrderNo(OrderRecord) returns (CommonResponse) {}
rpc OrderRecordsList(OrderRecordsRequest) returns (OrderRecordsResponse) {}
rpc OrderRecordsDetail(OrderRecordsDetailRequest) returns (OrderRecordsDetailResponse) {}
rpc UpdateFinancialConfirmationStatus(FinancialConfirmationRequest) returns (CommonResponse) {}
rpc CreateOrderAddRecord(OrderAddRecord) returns (CommonResponse) {}
rpc PackagePriceAndTime(OrderRecord) returns (PackagePriceAndTimeResponse) {}//计算套餐价格和有效时间
rpc OrderRecordsListV2(OrderRecordsRequestV2) returns (OrderRecordsResponseV2) {}
//增值套餐
rpc CreateValueAddBundle(CreateValueAddBundleRequest) returns (CreateValueAddBundleResponse) {}
rpc ValueAddBundleList(ValueAddBundleListRequest) returns (ValueAddBundleListResponse) {}
rpc ValueAddBundleDetail(ValueAddBundleDetailRequest) returns (ValueAddBundleDetailResponse) {}
//新增值服务
rpc SaveValueAddService(ValueAddServiceLang) returns (SaveResponse) {}
rpc ValueAddServiceList(ValueAddServiceListRequest) returns (ValueAddServiceListResponse) {}
rpc ValueAddServiceDetail(ValueAddServiceDetailRequest) returns (ValueAddServiceDetailResponse) {}
rpc ValueAddServiceLangByUuidAndLanguage(ValueAddServiceDetailRequest)returns (ValueAddServiceLang) {}
rpc CalculatePrice(CalculatePriceRequest) returns (CalculatePriceResponse) {}
// 余量管理
rpc BundleExtend(BundleExtendRequest) returns (BundleExtendResponse) {} // 套餐扩展
rpc BundleExtendRecordsList(BundleExtendRecordsListRequest) returns (BundleExtendRecordsListResponse) {} // 套餐扩展记录查询
rpc GetBundleBalance(GetBundleBalanceReq) returns (GetBundleBalanceResp) {} // 余量信息
}
message OrderRecordsRequestV2{
string customerName = 1;
string telNum = 2;
string bundleName = 3;
int32 payStatus = 4;
int32 addPayStatus = 5;
string orderNo = 6;
string orderAddNo = 7;
string bundleCreateAtStart = 8;
string bundleCreateAtEnd = 9;
string orderAddCreateAtStart = 10;
string orderAddCreateAtEnd = 11;
int32 page = 12;
int32 pageSize = 13;
repeated int64 userIds = 14;
}
message OrderRecordsResponseV2{
repeated OrderBundleRecordInfo bundleInfo = 1;
int32 page = 2;
int32 pageSize = 3;
int32 total = 4;
}
message OrderBundleRecordInfo{
string orderNo = 1;
string bundleName = 2;
int32 payStatus = 3;
string telNum = 4;
string customerName = 5;
string bundleCreateAt = 6;
float amount = 7;
repeated OrderAddBundleRecordInfo addBundleInfo = 8;
int64 customerId = 9;
}
message OrderAddBundleRecordInfo{
string orderAddNo = 1;
float amount = 2;
float settlementAmount = 3;
int32 currencyType = 4;
float handlingFee = 5;
float exchangeRate = 6;
string orderAddCreateAt = 7;
int32 addPayStatus = 8;
string contract = 9;
string snapshot = 10;
}
message PackagePriceAndTimeResponse{
float price = 1 [json_name = "price"];
string time = 2 [json_name = "time"];
}
message CommonResponse {
string msg = 1 [json_name = "msg"];
string uuid = 2 [json_name = "uuid"];
string orderNo = 3 [json_name = "orderNo"];
}
message BundleProfile {
string uuid = 1 [json_name = "uuid"];
string name = 2 [json_name = "name"];
float price = 3 [json_name = "price"];
int64 priceType = 4 [json_name = "priceType"];
string content = 5 [json_name = "content"];
string contract = 6 [json_name = "contract"];
string language = 7 [json_name = "language"];
string createdAt = 8 [json_name = "createdAt"];
string updatedAt = 9 [json_name = "updatedAt"];
string companySign = 10 [json_name = "companySign"];
int64 contractDuration = 11 [json_name = "contractDuration"];
string bundleCommonUid = 12 [json_name = "bundleCommonUid"];
int64 sort = 13 [json_name = "sort"];
string bgImg1 = 14 [json_name = "bgImg1"];
string bgImg2 = 15 [json_name = "bgImg2"];
int64 shelfStatus = 16 [json_name = "shelfStatus"]; // 1 上架 2 下架
repeated SelectValueAddService selectValueAddService = 17 [json_name = "SelectValueAddService"];
repeated BundleProfileLang bundleProfileLang = 18 [json_name = "bundleProfileLang"];
int32 imgOption = 19 [json_name = "imgOption"];
}
message BundleProfileLang {
string uuid = 1 [json_name = "uuid"];
string name = 2 [json_name = "name"];
float price = 3 [json_name = "price"];
int64 priceType = 4 [json_name = "priceType"];
string content = 5 [json_name = "content"];
string language = 6 [json_name = "language"];
string createdAt = 7 [json_name = "createdAt"];
string updatedAt = 8 [json_name = "updatedAt"];
//string bgImg1 = 9 [json_name = "bgImg1"];
//string bgImg2 = 10 [json_name = "bgImg2"];
// int64 sort = 11 [json_name = "sort"];
//repeated ValueAddServiceLang valueAddServiceLang = 12 [json_name = "ValueAddServiceLang"];
}
message SaveResponse {
string msg = 1 [json_name = "msg"];
string uuid = 2 [json_name = "uuid"];
int64 cancelNum = 3 [json_name = "cancelNum"];
}
message SelectValueAddService {
string valueAddUuid = 1 [json_name = "valueAddUuid"];
string serviceName= 2 [json_name = "serviceName"];
bool isDisplay = 3 [json_name = "isDisplay"];
}
message DelBundleRequest {
string uuid = 1 [json_name = "uuid"];
}
message BundleListRequest {
int32 page = 1 [json_name = "page"];
int32 pageSize = 2 [json_name = "pageSize"];
string name = 3 [json_name = "name"];
string content = 4 [json_name = "content"];
string language = 5 [json_name = "language"];
}
message BundleListResponse {
repeated BundleProfile bundles = 1 [json_name = "bundles"];
int32 total = 2 [json_name = "total"];
}
message BundleDetailRequest {
string uuid = 1 [json_name = "uuid"];
string language = 2 [json_name = "language"]; //语言 默认zh-CN zh-CN zh-TW EN de-DE js-JP
}
message HandShelfRequest {
string uuid = 1 [json_name = "uuid"];
int64 shelfStatus = 2 [json_name = "shelfStatus"]; // 1 上架 2 下架
}
message BundleDetailResponse {
BundleProfile bundle = 1 [json_name = "bundle"];
string msg = 2 [json_name = "msg"];
}
message BundleDetailResponseV2{
BundleProfile bundle = 1 [json_name = "bundle"];
string msg =2 [json_name = "msg"];
}
message OrderRecord {
string uuid = 1 [json_name = "uuid"];
string bundleUuid = 2 [json_name = "bundleUuid"];
string customerID = 3 [json_name = "customerID"];
string customerNum = 4 [json_name = "customerNum"];
string customerName = 5 [json_name = "customerName"];
float amount = 6 [json_name = "amount"];
int64 amountType = 7 [json_name = "amountType"];
string signContract = 8 [json_name = "signContract"];
string signature = 9 [json_name = "signature"];
string signedTime = 10 [json_name = "signedTime"];
int64 payType = 11 [json_name = "payType"];
string payTime = 12 [json_name = "payTime"];
string checkoutSessionId = 13 [json_name = "checkoutSessionId"];
string checkoutSessionUrl = 14 [json_name = "checkoutSessionUrl"];
int64 status = 15 [json_name = "status"];
string orderNo = 16 [json_name = "orderNo"];
string bundleName = 17 [json_name = "bundleName"];
string contractNo = 18 [json_name = "contractNo"];
string valueAddBundleUuid= 19 [json_name= "valueAddBundleUuid"]; //增值套餐UUID
float valueAddBundleAmount = 20 [json_name = "valueAddBundleAmount"]; //增值套餐金额
float valueAddOriginalPrice= 21 [json_name= "valueAddOriginalPrice"]; //原单价
float valueAddDiscountPrice= 22 [json_name= "valueAddDiscountPrice"]; //优惠单价
float valueAddSavedAmount= 23 [json_name= "valueAddSavedAmount"]; //节省金额
int32 num = 24 [json_name = "num"];
float totalAmount = 25 [json_name = "totalAmount"]; //总金额
string sex = 26 [json_name = "sex"];
string nationality = 27 [json_name = "nationality"];
string certificatePicture = 28 [json_name = "certificatePicture"];
string placeOfResidence = 29 [json_name = "placeOfResidence"];
string groupPhoto = 30 [json_name = "groupPhoto"];
string bundleCommonUid = 31 [json_name = "bundleCommonUid"];
string addBundleCommonUid = 32 [json_name = "addBundleCommonUid"];
int32 financialConfirmation = 33 [json_name = "financialConfirmation"];
string telNum = 34 [json_name = "telNum"];
string language = 35 [json_name = "language"];
repeated PriceOptionsInfo priceOptionsInfo = 36 [json_name = "priceOptionsInfo"];
string expirationTime = 37 [json_name = "expirationTime"];
string snapshot = 38 [json_name = "snapshot"];
}
message OrderAddRecord{
string bundleUuid = 1 [json_name = "bundleUuid"];
repeated AddPriceOptionsInfo addPriceOptionsList = 2 [json_name = "addPriceOptionsList"];
string language = 3 [json_name = "language"];
string customerID = 4 [json_name = "customerID"];
string customerNum = 5 [json_name = "customerNum"];
string customerName = 6 [json_name = "customerName"];
// string valueAddUUID = 12 [json_name = "valueAddUUID"];
int32 source = 7 [json_name = "source"];
string signContract = 8 [json_name = "signContract"];
string signature = 9 [json_name = "signature"];
string signedTime = 10 [json_name = "signedTime"];
string expirationDate = 11 [json_name = "expirationDate"];
string snapshot = 38 [json_name = "snapshot"];
}
message AddPriceOptionsInfo {
int32 id = 1 [json_name = "id"];
string valueUid = 2 [json_name = "valueUid"];
int32 serviceType = 3 [json_name = "serviceType"];
int64 currencyType = 4 [json_name = "currencyType"];
float amount = 5 [json_name = "amount"];
int32 num = 6 [json_name = "num"];
string unit = 7 [json_name = "unit"];
}
message PriceOptionsInfo {
int32 id = 1 [json_name = "id"];
string valueUid = 2 [json_name = "valueUid"];
}
message OrderRecordsRequest {
int32 page = 1 [json_name = "page"];
int32 pageSize = 2 [json_name = "pageSize"];
string customerNum = 3 [json_name = "customerNum"];
string customerName = 4 [json_name = "customerName"];
string bundleUUID = 5 [json_name = "bundleUUID"];
string orderNo = 6 [json_name = "orderNo"];
int64 status = 7 [json_name = "status"];
string bundleName = 8 [json_name = "bundleName"];
string startSignedTime = 9 [json_name = "startSignedTime"];
string endSignedTime = 10 [json_name = "endSignedTime"];
string startPayTime = 11 [json_name = "startPayTime"];
string endPayTime = 12 [json_name = "endPayTime"];
string customerID = 13 [json_name = "customerID"];
int64 isHaveValueAdd = 14 [json_name = "isHaveValueAdd"];//有无增值选项
int32 financialConfirmation = 15 [json_name = "financialConfirmation"];
string telNum = 16 [json_name = "telNum"];
}
message OrderRecordsResponse {
repeated OrderRecord orderRecords = 1 [json_name = "orderRecords"];
int32 total = 2 [json_name = "total"];
}
message OrderRecordsDetailRequest {
string uuid = 1 [json_name = "uuid"];
string orderNo = 2 [json_name = "orderNo"];
string customerID = 3 [json_name = "customerID"];
string bundleUUID = 4 [json_name = "bundleUUID"];
}
message OrderRecordsDetailResponse {
OrderRecord orderRecord = 1 [json_name = "orderRecord"];
string msg = 2 [json_name = "msg"];
}
// 增值套餐
message ValueAddBundleProfile {
string uuid = 1 [json_name = "uuid"];
int32 num = 2 [json_name = "num"];
float originalPrice = 3 [json_name = "originalPrice"];
float discountPrice = 4 [json_name = "discountPrice"];
float totalPrice = 6 [json_name = "totalPrice"];
float savedAmount = 7 [json_name = "savedAmount"];
bool discountPriceStatus = 8 [json_name = "discountPriceStatus"];
bool choose = 9 [json_name = "choose"];
bool status = 10 [json_name = "status"];
string addBundleCommonUid = 11 [json_name = "addBundleCommonUid"];
}
message CreateValueAddBundleRequest {
int32 num = 1 [json_name = "num",(validator.field) = {int_gt: 29, int_lt:101, human_error: "至少数为30,最多数为100"}];
}
message CreateValueAddBundleResponse {
string uuid = 1 [json_name = "uuid"];
float totalPrice = 2 [json_name = "totalPrice"];
float savedAmount = 3 [json_name = "savedAmount"];
string msg = 4 [json_name = "msg"];
}
// 增值套餐列表请求
message ValueAddBundleListRequest {
int32 userId = 1 [json_name = "userId"];
string bundleUuid = 2 [json_name = "bundleUuid"];
int32 priceType = 3 [json_name = "priceType"];
}
message ValueAddBundleListResponse {
float originalPrice = 1 [json_name = "originalPrice"];
int32 total = 2 [json_name = "total"];
repeated ValueAddBundleProfile data = 3 [json_name = "data"];
bool status = 4 [json_name = "status"];
int32 num = 5 [json_name = "num"];
float price = 6 [json_name = "price"];
bool orderNo = 7 [json_name = "orderNo"];
string msg = 8 [json_name = "msg"];
}
message ValueAddBundleDetailRequest {
string uuid = 1 [json_name = "uuid"];
}
message ValueAddBundleDetailResponse {
ValueAddBundleProfile data = 1 [json_name = "data"];
string payTime = 2 [json_name = "payTime"];
string msg = 3 [json_name = "msg"];
}
message FinancialConfirmationRequest {
string orderNo = 1 [json_name = "orderNo"];
}
// ****************************************************新增值服务***********************
//增值服务
message ValueAddService {
string uuid = 1 [json_name = "uuid"];
string serviceName = 2 [json_name = "serviceName"]; //服务名称
int32 serviceType = 3 [json_name = "serviceType"];
repeated ValueAddServiceLang serviceLang = 4 [json_name = "serviceLang"];
}
message ValueAddServiceLang {
string uuid = 1 [json_name = "uuid"];
string serviceName = 2 [json_name = "serviceName"]; //服务名称
int32 serviceType = 3 [json_name = "serviceType"];
int32 priceMode = 4 [json_name = "priceMode"];
string originalPrice = 5 [json_name = "originalPrice"];
string unit = 6 [json_name = "unit"];
int64 priceType = 7 [json_name = "priceType"];
string language = 8 [json_name = "language"];
string createdAt = 9 [json_name = "createdAt"];
string updatedAt = 10 [json_name = "updatedAt"];
repeated ValueAddPriceOptions options = 12 [json_name = "options"];
}
//增值服务价格选项
message ValueAddPriceOptions {
int64 id = 1 [json_name = "id"];
int32 num = 2 [json_name = "num"];
string symbol = 3 [json_name = "symbol"];
string price = 4 [json_name = "price"];
string saveAmount = 5 [json_name = "saveAmount"];
}
//增值服务列表
message ValueAddServiceListRequest {
int32 page = 1 [json_name = "page"];
int32 pageSize = 2 [json_name = "pageSize"];
string name = 3 [json_name = "name"];
string language = 4 [json_name = "language"];
}
message ValueAddServiceListResponse {
int32 total = 1 [json_name = "total"];
string msg = 2 [json_name = "msg"];
repeated ValueAddService valueAddServiceList = 3 [json_name = "valueAddServiceList"];
}
//增值服务详情
message ValueAddServiceDetailRequest {
string uuid = 1 [json_name = "uuid"];
string language = 2 [json_name = "language"]; //语言 默认zh-CN zh-CN zh-TW EN de-DE js-JP
}
message ValueAddServiceDetailResponse {
string msg = 1 [json_name = "msg"];
ValueAddService valueAddService = 2 [json_name = "valueAddService"];
}
message CalculatePriceRequest{
string uuid = 1;
int32 num = 2;
string language = 3;
}
message CalculatePriceResponse{
string msg = 1;
float price = 2;
}
//*********************************新增值服务-over******************************************
message BundleExtendRequest{
int64 userId = 1;
uint32 accountAdditional = 2;
uint32 videoAdditional = 3;
uint32 imagesAdditional = 4;
uint32 dataAdditional = 5;
uint32 availableDurationAdditional = 6;
string remark = 7;
string associatedorderNumber = 8;
string operatorName = 9;
string operatorPhoneNumber = 10;
}
message BundleExtendResponse{
}
message BundleExtendRecordsListRequest{
int32 page = 1;
int32 pageSize = 2;
string user = 3;
string operator = 4;
uint64 startTime = 5;
uint64 endTime = 6;
uint32 type = 7;
string associatedOrderNumber = 8;
}
message BundleExtendRecordsListResponse{
int64 total = 1;
repeated BundleExtendRecordItem data = 2;
}
message BundleExtendRecordItem{
string userName = 1;
string userPhoneNumber = 2;
uint32 accountAdditional = 3;
uint32 videoAdditional = 4;
uint32 imagesAdditional = 5;
uint32 dataAdditional = 6;
uint32 availableDurationAdditional = 7;
int32 type = 8;
uint64 createdAt = 9;
string remark = 10;
string associatedOrderNumber = 11;
string operatorName = 12;
string operatorPhoneNumber = 13;
}
message GetBundleBalanceReq{
string userName = 1;
int32 status = 2;
string bundleName = 3;
int64 expiredTimeStart = 4;
int64 expiredTimeEnd = 5;
int32 page = 6;
int32 pageSize = 7;
}
message BundleBalanceItem{
string userName = 1;
string userPhoneNumber = 2;
int32 status = 3;
string bundleName = 4;
int64 expiredTime = 5;
int32 accountNumber = 6;
int32 accountConsumptionNumber = 7;
int32 videoNumber = 8;
int32 videoConsumptionNumber = 9;
int32 imageNumber = 10;
int32 imageConsumptionNumber = 11;
int32 dataAnalysisNumber = 12;
int32 dataAnalysisConsumptionNumber = 13;
int32 expansionPacksNumber = 14;
}
message GetBundleBalanceResp{
int64 total = 1;
repeated BundleBalanceItem data = 2;
}