From 88c3cdada2e1e3b84db39bdd13f6d15954f866d3 Mon Sep 17 00:00:00 2001 From: gjs Date: Tue, 15 Sep 2026 15:23:30 +0800 Subject: [PATCH] factroy store --- .gitea/workflows/cd-test.yml | 1 + .gitea/workflows/ci.yml | 3 +- pkg/utils/status.go | 34 +- pkg/utils/tools.go | 21 - rpc/order/order.pb | Bin 18529 -> 18800 bytes rpc/order/order.proto | 11 + rpc/order/pb/order.pb.go | 219 ++++++-- rpc/order/pb/order_grpc.pb.go | 42 ++ rpc/store/pb/store.pb.go | 503 ++++++++++++------ rpc/store/pb/store_grpc.pb.go | 176 ++++-- rpc/store/store.pb | Bin 18012 -> 18681 bytes rpc/store/store.proto | 56 +- .../factory/internal/logic/groupInfoLogic.go | 5 +- .../factory/internal/logic/groupNamesLogic.go | 4 + .../factory/internal/logic/postInfoLogic.go | 5 +- .../factory/internal/logic/postNamesLogic.go | 4 + .../factory/internal/logic/workerInfoLogic.go | 5 +- .../internal/logic/workerNamesLogic.go | 4 + services/order/internal/dao/address.go | 5 + .../logic/updateAddressSaleInfoLogic.go | 49 ++ services/order/internal/server/orderServer.go | 7 + services/order/orderClient/order.go | 12 + services/sale/run.toml | 57 ++ services/store/.gitignore | 3 + services/store/Dockerfile | 37 ++ services/store/internal/config/config.go | 13 + services/store/internal/dao/deposit.go | 61 +++ .../store/internal/dao/salesPersonHistory.go | 18 + services/store/internal/dao/store.go | 242 +++++++++ .../store/internal/logic/applyEditLogic.go | 31 ++ .../store/internal/logic/applyVerifyLogic.go | 31 ++ .../internal/logic/applyVerifyStatusLogic.go | 31 ++ services/store/internal/logic/base.go | 48 ++ services/store/internal/logic/contentLogic.go | 70 +++ services/store/internal/logic/createLogic.go | 129 +++++ .../internal/logic/depositBackfillLogic.go | 31 ++ .../store/internal/logic/depositDoneLogic.go | 31 ++ .../store/internal/logic/depositDownLogic.go | 31 ++ .../internal/logic/depositIgnoreItemsLogic.go | 31 ++ .../internal/logic/depositIgnoreLogic.go | 31 ++ .../store/internal/logic/depositItemsLogic.go | 31 ++ .../internal/logic/depositRecoverLogic.go | 31 ++ .../internal/logic/depositVerifyLogic.go | 31 ++ services/store/internal/logic/editLogic.go | 141 +++++ services/store/internal/logic/infoLogic.go | 62 +++ services/store/internal/logic/itemsLogic.go | 77 +++ services/store/internal/logic/namesLogic.go | 45 ++ services/store/internal/logic/setDefLogic.go | 55 ++ services/store/internal/logic/statusLogic.go | 72 +++ services/store/internal/logic/toSaleLogic.go | 117 ++++ .../store/internal/logic/verifyEditLogic.go | 31 ++ .../store/internal/logic/verifyItemsLogic.go | 31 ++ .../store/internal/logic/verifyStatusLogic.go | 31 ++ .../internal/logic/webDepositCreateLogic.go | 31 ++ .../internal/logic/webDepositItemsLogic.go | 31 ++ services/store/internal/model/deposit.go | 23 + .../internal/model/salesPersonHistory.go | 23 + services/store/internal/model/store.go | 28 + services/store/internal/server/storeServer.go | 149 ++++++ services/store/internal/svc/servicecontext.go | 103 ++++ services/store/store.go | 170 ++++++ services/store/storeclient/store.go | 198 +++++++ services/store/validator/deposit.go | 86 +++ services/store/validator/store.go | 265 +++++++++ 64 files changed, 3649 insertions(+), 305 deletions(-) create mode 100644 services/order/internal/logic/updateAddressSaleInfoLogic.go create mode 100644 services/sale/run.toml create mode 100644 services/store/.gitignore create mode 100644 services/store/Dockerfile create mode 100644 services/store/internal/config/config.go create mode 100644 services/store/internal/dao/deposit.go create mode 100644 services/store/internal/dao/salesPersonHistory.go create mode 100644 services/store/internal/dao/store.go create mode 100644 services/store/internal/logic/applyEditLogic.go create mode 100644 services/store/internal/logic/applyVerifyLogic.go create mode 100644 services/store/internal/logic/applyVerifyStatusLogic.go create mode 100644 services/store/internal/logic/base.go create mode 100644 services/store/internal/logic/contentLogic.go create mode 100644 services/store/internal/logic/createLogic.go create mode 100644 services/store/internal/logic/depositBackfillLogic.go create mode 100644 services/store/internal/logic/depositDoneLogic.go create mode 100644 services/store/internal/logic/depositDownLogic.go create mode 100644 services/store/internal/logic/depositIgnoreItemsLogic.go create mode 100644 services/store/internal/logic/depositIgnoreLogic.go create mode 100644 services/store/internal/logic/depositItemsLogic.go create mode 100644 services/store/internal/logic/depositRecoverLogic.go create mode 100644 services/store/internal/logic/depositVerifyLogic.go create mode 100644 services/store/internal/logic/editLogic.go create mode 100644 services/store/internal/logic/infoLogic.go create mode 100644 services/store/internal/logic/itemsLogic.go create mode 100644 services/store/internal/logic/namesLogic.go create mode 100644 services/store/internal/logic/setDefLogic.go create mode 100644 services/store/internal/logic/statusLogic.go create mode 100644 services/store/internal/logic/toSaleLogic.go create mode 100644 services/store/internal/logic/verifyEditLogic.go create mode 100644 services/store/internal/logic/verifyItemsLogic.go create mode 100644 services/store/internal/logic/verifyStatusLogic.go create mode 100644 services/store/internal/logic/webDepositCreateLogic.go create mode 100644 services/store/internal/logic/webDepositItemsLogic.go create mode 100644 services/store/internal/model/deposit.go create mode 100644 services/store/internal/model/salesPersonHistory.go create mode 100644 services/store/internal/model/store.go create mode 100644 services/store/internal/server/storeServer.go create mode 100644 services/store/internal/svc/servicecontext.go create mode 100644 services/store/store.go create mode 100644 services/store/storeclient/store.go create mode 100644 services/store/validator/deposit.go create mode 100644 services/store/validator/store.go diff --git a/.gitea/workflows/cd-test.yml b/.gitea/workflows/cd-test.yml index 74497e1..bd84a13 100644 --- a/.gitea/workflows/cd-test.yml +++ b/.gitea/workflows/cd-test.yml @@ -45,4 +45,5 @@ jobs: docker pull ${{ vars.REGISTRY }}/lone/sale:latest docker pull ${{ vars.REGISTRY }}/lone/equipment:latest docker pull ${{ vars.REGISTRY }}/lone/record:latest + docker pull ${{ vars.REGISTRY }}/lone/factory:latest docker compose up -d diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 7309b71..bd4f9a4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: - name: Detect changes id: filter run: | - SERVICES="bff product admin user ad chore express sale wecom task equipment record payment" + SERVICES="bff product admin user ad chore express sale wecom task equipment record payment factory" pattern_for() { case "$1" in @@ -94,6 +94,7 @@ jobs: - equipment - record - payment + - factory env: BUILD_LIST: ${{ needs.changes.outputs.build_list }} NAME: lone/${{ matrix.name }} diff --git a/pkg/utils/status.go b/pkg/utils/status.go index c26594e..4e28d6e 100644 --- a/pkg/utils/status.go +++ b/pkg/utils/status.go @@ -37,7 +37,6 @@ const ( MinSort uint8 = 1 //全局基础最小排序 SIZE = 20 //全局基础每页数 - DecollatorComma = "," //逗号分割符 DecollatorColon = ":" CentralHorizontalLine = " - " @@ -51,18 +50,27 @@ const ( StoreAuthBind = 1 // 绑定 StoreAuthUnBind = 2 // 解绑 - StatusOk = 1 //正常 - StatusApply = 2 //申请 - StatusFirstVerify = 3 //一审 - StatusSecondVerify = 4 //二审 - StatusApplyRefuse = 5 //申请拒绝 - StatusVerifyRefuse = 6 //一审拒绝 - StatusAdminFirstVerify = 13 //一审 - StatusAdminSecondVerify = 14 //二审 - StatusAdminWaitPass = 19 //等待审核 - StatusAdminSecondRefuse = 16 //审核失败 - StatusDel = 7 //删除 - StatusFail = 2 //失败 + StatusForbidden = 3 // + StatusForbiddenString = "3" + StatusFail = 2 //全局基础禁用状态 + StatusFailString = "2" + StatusOk = 1 //正常 + StatusApply = 2 //申请 + StatusFirstVerify = 3 //一审 + StatusSecondVerify = 4 //二审 + StatusApplyRefuse = 5 //申请拒绝 + StatusVerifyRefuse = 6 //一审拒绝 + StatusAdminFirstVerify = 13 //一审 + StatusAdminSecondVerify = 14 //二审 + StatusAdminWaitPass = 19 //等待审核 + StatusAdminSecondRefuse = 16 //审核失败 + StatusDel = 7 //删除 + StatusDelString = "7" //删除 + StatusPass = 1 //通过 + StatusDone = 1 //完成 + StatusNotPass = 2 //未通过 + StatusBackfill = 4 //回执完成 + StatusWaitPass = 9 //待审核 RpcTimeOut = 5000 //服务连接超时时间 毫秒 ) diff --git a/pkg/utils/tools.go b/pkg/utils/tools.go index 40d06db..3ab4427 100644 --- a/pkg/utils/tools.go +++ b/pkg/utils/tools.go @@ -256,21 +256,6 @@ func Decrypt(str string) (string, Error) { return str, nil } -func DecryptMobile(mobile string) string { - - mobile, err := Decrypt(mobile) - if err != nil { - logx.Error("decrypt mobile error", mobile, err) - return mobile - } - - if len(mobile) < 11 { - return mobile - } - - return mobile[:3] + "****" + mobile[7:11] -} - // 接收 [startDate, endDate](格式 "YYYY-MM-DD"), // 返回 [2006-01-02 00:00:00, 2006-01-02 23:59:59] func DateRangeWithTime(dates []string) [2]string { @@ -323,12 +308,6 @@ func CalcAgeStr(birthday string) string { return strconv.Itoa(age) } -func MaskData(data string, first, end uint8) string { - // 2. 截取前3位 + **** + 后4位 - // Go字符串按字节截取,数字字符单字节,直接切片即可 - return data[:first] + "****" + data[end:] -} - func RandString(num uint8) string { chars := "23456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ" rand.Seed(time.Now().UnixNano()) diff --git a/rpc/order/order.pb b/rpc/order/order.pb index 7e9fe78ba70ea1b5a6768f8b488e82636940467c..1af8a22e30b9837b6b0cd8ac9206026be8c8a781 100644 GIT binary patch delta 258 zcmaDjf$_s6#tn~+nYy(%KQ*@JkTB$u4J}AXEJ<}tNhwM#E)Gu2N%hQ2%b(0?BP~(J zC4*h^p}F{E84D2;A#pDDVxW%r%oGV`1x5|#AT|)!Get;}izB@#zq9}(!vdCJ2lG8s zHY?l2urMtY*xcx_iY+~fOBAaWLdtsiMJcI8dRS$HQVUB{i%XWI70Tw4 OnEcUNVzZmOG$R1(y;qw6 delta 43 zcmV+`0M!5Rk^$k60kGpU0{kemz diff --git a/rpc/order/order.proto b/rpc/order/order.proto index 39fd23f..1c668c2 100644 --- a/rpc/order/order.proto +++ b/rpc/order/order.proto @@ -136,6 +136,16 @@ message UpdateOrderDeliverStatusResponse { int32 num = 1; } +message UpdateAddressSaleInfoResponse { + int32 num = 1; +} + +message UpdateAddressSaleInfoRequest { + int64 id = 1; + int64 sale_id = 2; + int64 group_id =3; +} + message GetOrderInfoRequest { int64 user_id = 1; string order_sn = 2; @@ -296,6 +306,7 @@ service order { body: "*" }; }; + rpc UpdateAddressSaleInfo(UpdateAddressSaleInfoRequest) returns(UpdateAddressSaleInfoResponse); rpc UpdateOrderDeliverStatus(UpdateOrderDeliverStatusRequest) returns(UpdateOrderDeliverStatusResponse); //type 1为销售 2为门店 3为个人 rpc GetOrderInfo(GetOrderInfoRequest) returns(OrderInfoResponse); diff --git a/rpc/order/pb/order.pb.go b/rpc/order/pb/order.pb.go index 5d9a211..74f9359 100644 --- a/rpc/order/pb/order.pb.go +++ b/rpc/order/pb/order.pb.go @@ -7,13 +7,12 @@ package order import ( - reflect "reflect" - sync "sync" - unsafe "unsafe" - _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" ) const ( @@ -1323,6 +1322,118 @@ func (x *UpdateOrderDeliverStatusResponse) GetNum() int32 { return 0 } +type UpdateAddressSaleInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Num int32 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAddressSaleInfoResponse) Reset() { + *x = UpdateAddressSaleInfoResponse{} + mi := &file_order_order_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAddressSaleInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAddressSaleInfoResponse) ProtoMessage() {} + +func (x *UpdateAddressSaleInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_order_order_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAddressSaleInfoResponse.ProtoReflect.Descriptor instead. +func (*UpdateAddressSaleInfoResponse) Descriptor() ([]byte, []int) { + return file_order_order_proto_rawDescGZIP(), []int{21} +} + +func (x *UpdateAddressSaleInfoResponse) GetNum() int32 { + if x != nil { + return x.Num + } + return 0 +} + +type UpdateAddressSaleInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` + SaleId int64 `protobuf:"varint,3,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"` + GroupId int64 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAddressSaleInfoRequest) Reset() { + *x = UpdateAddressSaleInfoRequest{} + mi := &file_order_order_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAddressSaleInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAddressSaleInfoRequest) ProtoMessage() {} + +func (x *UpdateAddressSaleInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_order_order_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAddressSaleInfoRequest.ProtoReflect.Descriptor instead. +func (*UpdateAddressSaleInfoRequest) Descriptor() ([]byte, []int) { + return file_order_order_proto_rawDescGZIP(), []int{22} +} + +func (x *UpdateAddressSaleInfoRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateAddressSaleInfoRequest) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *UpdateAddressSaleInfoRequest) GetSaleId() int64 { + if x != nil { + return x.SaleId + } + return 0 +} + +func (x *UpdateAddressSaleInfoRequest) GetGroupId() int64 { + if x != nil { + return x.GroupId + } + return 0 +} + type GetOrderInfoRequest struct { state protoimpl.MessageState `protogen:"open.v1"` UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` @@ -1334,7 +1445,7 @@ type GetOrderInfoRequest struct { func (x *GetOrderInfoRequest) Reset() { *x = GetOrderInfoRequest{} - mi := &file_order_order_proto_msgTypes[21] + mi := &file_order_order_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1346,7 +1457,7 @@ func (x *GetOrderInfoRequest) String() string { func (*GetOrderInfoRequest) ProtoMessage() {} func (x *GetOrderInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_order_order_proto_msgTypes[21] + mi := &file_order_order_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1359,7 +1470,7 @@ func (x *GetOrderInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetOrderInfoRequest.ProtoReflect.Descriptor instead. func (*GetOrderInfoRequest) Descriptor() ([]byte, []int) { - return file_order_order_proto_rawDescGZIP(), []int{21} + return file_order_order_proto_rawDescGZIP(), []int{23} } func (x *GetOrderInfoRequest) GetUserId() int64 { @@ -1418,7 +1529,7 @@ type OrderInfoResponse struct { func (x *OrderInfoResponse) Reset() { *x = OrderInfoResponse{} - mi := &file_order_order_proto_msgTypes[22] + mi := &file_order_order_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1430,7 +1541,7 @@ func (x *OrderInfoResponse) String() string { func (*OrderInfoResponse) ProtoMessage() {} func (x *OrderInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_order_order_proto_msgTypes[22] + mi := &file_order_order_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1443,7 +1554,7 @@ func (x *OrderInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OrderInfoResponse.ProtoReflect.Descriptor instead. func (*OrderInfoResponse) Descriptor() ([]byte, []int) { - return file_order_order_proto_rawDescGZIP(), []int{22} + return file_order_order_proto_rawDescGZIP(), []int{24} } func (x *OrderInfoResponse) GetId() int64 { @@ -1649,7 +1760,7 @@ type ProductItemsResponse struct { func (x *ProductItemsResponse) Reset() { *x = ProductItemsResponse{} - mi := &file_order_order_proto_msgTypes[23] + mi := &file_order_order_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1661,7 +1772,7 @@ func (x *ProductItemsResponse) String() string { func (*ProductItemsResponse) ProtoMessage() {} func (x *ProductItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_order_order_proto_msgTypes[23] + mi := &file_order_order_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1674,7 +1785,7 @@ func (x *ProductItemsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProductItemsResponse.ProtoReflect.Descriptor instead. func (*ProductItemsResponse) Descriptor() ([]byte, []int) { - return file_order_order_proto_rawDescGZIP(), []int{23} + return file_order_order_proto_rawDescGZIP(), []int{25} } func (x *ProductItemsResponse) GetId() int64 { @@ -1818,7 +1929,14 @@ const file_order_order_proto_rawDesc = "" + "\x1cUpdateOrderPayStatusResponse\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\"4\n" + " UpdateOrderDeliverStatusResponse\x12\x10\n" + - "\x03num\x18\x01 \x01(\x05R\x03num\"]\n" + + "\x03num\x18\x01 \x01(\x05R\x03num\"1\n" + + "\x1dUpdateAddressSaleInfoResponse\x12\x10\n" + + "\x03num\x18\x01 \x01(\x05R\x03num\"v\n" + + "\x1cUpdateAddressSaleInfoRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" + + "\x04type\x18\x02 \x01(\x05R\x04type\x12\x17\n" + + "\asale_id\x18\x03 \x01(\x03R\x06saleId\x12\x19\n" + + "\bgroup_id\x18\x04 \x01(\x03R\agroupId\"]\n" + "\x13GetOrderInfoRequest\x12\x17\n" + "\auser_id\x18\x01 \x01(\x03R\x06userId\x12\x19\n" + "\border_sn\x18\x02 \x01(\tR\aorderSn\x12\x12\n" + @@ -1865,7 +1983,7 @@ const file_order_order_proto_rawDesc = "" + "product_id\x18\x03 \x01(\x03R\tproductId\x12!\n" + "\fproduct_name\x18\x04 \x01(\tR\vproductName\x12\x14\n" + "\x05price\x18\x05 \x01(\x01R\x05price\x12\x16\n" + - "\x06number\x18\x06 \x01(\x05R\x06number2\xbd\x0f\n" + + "\x06number\x18\x06 \x01(\x05R\x06number2\xa1\x10\n" + "\x05order\x12T\n" + "\x05Items\x12\x18.order.OrderItemsRequest\x1a\x0f.order.Response\" \x82\xd3\xe4\x93\x02\x1a:\x01*\x12\x15/admin/v3/order/items\x12X\n" + "\tWebCreate\x12\x19.order.CreateOrderRequest\x1a\x0f.order.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v3/order/create\x12b\n" + @@ -1884,7 +2002,8 @@ const file_order_order_proto_rawDesc = "" + "\rOrderAuditing\x12\x1b.order.OrderAuditingRequest\x1a\x0f.order.Response\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/admin/v3/order/auditing\x12a\n" + "\vOrderCreate\x12\x1e.order.AdminCreateOrderRequest\x1a\x0f.order.Response\"!\x82\xd3\xe4\x93\x02\x1b:\x01*\"\x16/admin/v3/order/create\x12b\n" + "\tOrderDown\x12\x18.order.OrderItemsRequest\x1a\x1a.order.ExcelExportResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x12\x14/admin/v3/order/down\x12O\n" + - "\tOrderInfo\x12\x10.order.IdRequest\x1a\x0f.order.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x12\x14/admin/v3/order/info\x12k\n" + + "\tOrderInfo\x12\x10.order.IdRequest\x1a\x0f.order.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x12\x14/admin/v3/order/info\x12b\n" + + "\x15UpdateAddressSaleInfo\x12#.order.UpdateAddressSaleInfoRequest\x1a$.order.UpdateAddressSaleInfoResponse\x12k\n" + "\x18UpdateOrderDeliverStatus\x12&.order.UpdateOrderDeliverStatusRequest\x1a'.order.UpdateOrderDeliverStatusResponse\x12D\n" + "\fGetOrderInfo\x12\x1a.order.GetOrderInfoRequest\x1a\x18.order.OrderInfoResponse\x12_\n" + "\x14UpdateOrderPayStatus\x12\".order.UpdateOrderPayStatusRequest\x1a#.order.UpdateOrderPayStatusResponseB\x19Z\x17lone-services/rpc/orderb\x06proto3" @@ -1901,7 +2020,7 @@ func file_order_order_proto_rawDescGZIP() []byte { return file_order_order_proto_rawDescData } -var file_order_order_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_order_order_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_order_order_proto_goTypes = []any{ (*OrderItemsRequest)(nil), // 0: order.OrderItemsRequest (*Response)(nil), // 1: order.Response @@ -1924,12 +2043,14 @@ var file_order_order_proto_goTypes = []any{ (*UpdateOrderPayStatusRequest)(nil), // 18: order.UpdateOrderPayStatusRequest (*UpdateOrderPayStatusResponse)(nil), // 19: order.UpdateOrderPayStatusResponse (*UpdateOrderDeliverStatusResponse)(nil), // 20: order.UpdateOrderDeliverStatusResponse - (*GetOrderInfoRequest)(nil), // 21: order.GetOrderInfoRequest - (*OrderInfoResponse)(nil), // 22: order.OrderInfoResponse - (*ProductItemsResponse)(nil), // 23: order.ProductItemsResponse + (*UpdateAddressSaleInfoResponse)(nil), // 21: order.UpdateAddressSaleInfoResponse + (*UpdateAddressSaleInfoRequest)(nil), // 22: order.UpdateAddressSaleInfoRequest + (*GetOrderInfoRequest)(nil), // 23: order.GetOrderInfoRequest + (*OrderInfoResponse)(nil), // 24: order.OrderInfoResponse + (*ProductItemsResponse)(nil), // 25: order.ProductItemsResponse } var file_order_order_proto_depIdxs = []int32{ - 23, // 0: order.OrderInfoResponse.product_items:type_name -> order.ProductItemsResponse + 25, // 0: order.OrderInfoResponse.product_items:type_name -> order.ProductItemsResponse 0, // 1: order.order.Items:input_type -> order.OrderItemsRequest 3, // 2: order.order.WebCreate:input_type -> order.CreateOrderRequest 4, // 3: order.order.WebCreateOne:input_type -> order.CreateOrderOneRequest @@ -1948,32 +2069,34 @@ var file_order_order_proto_depIdxs = []int32{ 16, // 16: order.order.OrderCreate:input_type -> order.AdminCreateOrderRequest 0, // 17: order.order.OrderDown:input_type -> order.OrderItemsRequest 9, // 18: order.order.OrderInfo:input_type -> order.IdRequest - 17, // 19: order.order.UpdateOrderDeliverStatus:input_type -> order.UpdateOrderDeliverStatusRequest - 21, // 20: order.order.GetOrderInfo:input_type -> order.GetOrderInfoRequest - 18, // 21: order.order.UpdateOrderPayStatus:input_type -> order.UpdateOrderPayStatusRequest - 1, // 22: order.order.Items:output_type -> order.Response - 1, // 23: order.order.WebCreate:output_type -> order.Response - 1, // 24: order.order.WebCreateOne:output_type -> order.Response - 1, // 25: order.order.WebAddressCreate:output_type -> order.Response - 1, // 26: order.order.WebAddressEdit:output_type -> order.Response - 1, // 27: order.order.WebAddressDel:output_type -> order.Response - 1, // 28: order.order.WebAddressDef:output_type -> order.Response - 1, // 29: order.order.WebAddressInfo:output_type -> order.Response - 1, // 30: order.order.WebAddressItems:output_type -> order.Response - 1, // 31: order.order.WebCart:output_type -> order.Response - 1, // 32: order.order.WebCartEdit:output_type -> order.Response - 1, // 33: order.order.AddressItem:output_type -> order.Response - 1, // 34: order.order.AddressByStore:output_type -> order.Response - 1, // 35: order.order.OrderAuditingItems:output_type -> order.Response - 1, // 36: order.order.OrderAuditing:output_type -> order.Response - 1, // 37: order.order.OrderCreate:output_type -> order.Response - 2, // 38: order.order.OrderDown:output_type -> order.ExcelExportResponse - 1, // 39: order.order.OrderInfo:output_type -> order.Response - 20, // 40: order.order.UpdateOrderDeliverStatus:output_type -> order.UpdateOrderDeliverStatusResponse - 22, // 41: order.order.GetOrderInfo:output_type -> order.OrderInfoResponse - 19, // 42: order.order.UpdateOrderPayStatus:output_type -> order.UpdateOrderPayStatusResponse - 22, // [22:43] is the sub-list for method output_type - 1, // [1:22] is the sub-list for method input_type + 22, // 19: order.order.UpdateAddressSaleInfo:input_type -> order.UpdateAddressSaleInfoRequest + 17, // 20: order.order.UpdateOrderDeliverStatus:input_type -> order.UpdateOrderDeliverStatusRequest + 23, // 21: order.order.GetOrderInfo:input_type -> order.GetOrderInfoRequest + 18, // 22: order.order.UpdateOrderPayStatus:input_type -> order.UpdateOrderPayStatusRequest + 1, // 23: order.order.Items:output_type -> order.Response + 1, // 24: order.order.WebCreate:output_type -> order.Response + 1, // 25: order.order.WebCreateOne:output_type -> order.Response + 1, // 26: order.order.WebAddressCreate:output_type -> order.Response + 1, // 27: order.order.WebAddressEdit:output_type -> order.Response + 1, // 28: order.order.WebAddressDel:output_type -> order.Response + 1, // 29: order.order.WebAddressDef:output_type -> order.Response + 1, // 30: order.order.WebAddressInfo:output_type -> order.Response + 1, // 31: order.order.WebAddressItems:output_type -> order.Response + 1, // 32: order.order.WebCart:output_type -> order.Response + 1, // 33: order.order.WebCartEdit:output_type -> order.Response + 1, // 34: order.order.AddressItem:output_type -> order.Response + 1, // 35: order.order.AddressByStore:output_type -> order.Response + 1, // 36: order.order.OrderAuditingItems:output_type -> order.Response + 1, // 37: order.order.OrderAuditing:output_type -> order.Response + 1, // 38: order.order.OrderCreate:output_type -> order.Response + 2, // 39: order.order.OrderDown:output_type -> order.ExcelExportResponse + 1, // 40: order.order.OrderInfo:output_type -> order.Response + 21, // 41: order.order.UpdateAddressSaleInfo:output_type -> order.UpdateAddressSaleInfoResponse + 20, // 42: order.order.UpdateOrderDeliverStatus:output_type -> order.UpdateOrderDeliverStatusResponse + 24, // 43: order.order.GetOrderInfo:output_type -> order.OrderInfoResponse + 19, // 44: order.order.UpdateOrderPayStatus:output_type -> order.UpdateOrderPayStatusResponse + 23, // [23:45] is the sub-list for method output_type + 1, // [1:23] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name @@ -1990,7 +2113,7 @@ func file_order_order_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_order_order_proto_rawDesc), len(file_order_order_proto_rawDesc)), NumEnums: 0, - NumMessages: 24, + NumMessages: 26, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/order/pb/order_grpc.pb.go b/rpc/order/pb/order_grpc.pb.go index c39fe5b..1f761ef 100644 --- a/rpc/order/pb/order_grpc.pb.go +++ b/rpc/order/pb/order_grpc.pb.go @@ -37,6 +37,7 @@ const ( Order_OrderCreate_FullMethodName = "/order.order/OrderCreate" Order_OrderDown_FullMethodName = "/order.order/OrderDown" Order_OrderInfo_FullMethodName = "/order.order/OrderInfo" + Order_UpdateAddressSaleInfo_FullMethodName = "/order.order/UpdateAddressSaleInfo" Order_UpdateOrderDeliverStatus_FullMethodName = "/order.order/UpdateOrderDeliverStatus" Order_GetOrderInfo_FullMethodName = "/order.order/GetOrderInfo" Order_UpdateOrderPayStatus_FullMethodName = "/order.order/UpdateOrderPayStatus" @@ -64,8 +65,11 @@ type OrderClient interface { OrderCreate(ctx context.Context, in *AdminCreateOrderRequest, opts ...grpc.CallOption) (*Response, error) OrderDown(ctx context.Context, in *OrderItemsRequest, opts ...grpc.CallOption) (*ExcelExportResponse, error) OrderInfo(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) + UpdateAddressSaleInfo(ctx context.Context, in *UpdateAddressSaleInfoRequest, opts ...grpc.CallOption) (*UpdateAddressSaleInfoResponse, error) UpdateOrderDeliverStatus(ctx context.Context, in *UpdateOrderDeliverStatusRequest, opts ...grpc.CallOption) (*UpdateOrderDeliverStatusResponse, error) + // type 1为销售 2为门店 3为个人 GetOrderInfo(ctx context.Context, in *GetOrderInfoRequest, opts ...grpc.CallOption) (*OrderInfoResponse, error) + // status 1 为已支付 4 支付失败,其它的返回错误 UpdateOrderPayStatus(ctx context.Context, in *UpdateOrderPayStatusRequest, opts ...grpc.CallOption) (*UpdateOrderPayStatusResponse, error) } @@ -257,6 +261,16 @@ func (c *orderClient) OrderInfo(ctx context.Context, in *IdRequest, opts ...grpc return out, nil } +func (c *orderClient) UpdateAddressSaleInfo(ctx context.Context, in *UpdateAddressSaleInfoRequest, opts ...grpc.CallOption) (*UpdateAddressSaleInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateAddressSaleInfoResponse) + err := c.cc.Invoke(ctx, Order_UpdateAddressSaleInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *orderClient) UpdateOrderDeliverStatus(ctx context.Context, in *UpdateOrderDeliverStatusRequest, opts ...grpc.CallOption) (*UpdateOrderDeliverStatusResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(UpdateOrderDeliverStatusResponse) @@ -309,8 +323,11 @@ type OrderServer interface { OrderCreate(context.Context, *AdminCreateOrderRequest) (*Response, error) OrderDown(context.Context, *OrderItemsRequest) (*ExcelExportResponse, error) OrderInfo(context.Context, *IdRequest) (*Response, error) + UpdateAddressSaleInfo(context.Context, *UpdateAddressSaleInfoRequest) (*UpdateAddressSaleInfoResponse, error) UpdateOrderDeliverStatus(context.Context, *UpdateOrderDeliverStatusRequest) (*UpdateOrderDeliverStatusResponse, error) + // type 1为销售 2为门店 3为个人 GetOrderInfo(context.Context, *GetOrderInfoRequest) (*OrderInfoResponse, error) + // status 1 为已支付 4 支付失败,其它的返回错误 UpdateOrderPayStatus(context.Context, *UpdateOrderPayStatusRequest) (*UpdateOrderPayStatusResponse, error) mustEmbedUnimplementedOrderServer() } @@ -376,6 +393,9 @@ func (UnimplementedOrderServer) OrderDown(context.Context, *OrderItemsRequest) ( func (UnimplementedOrderServer) OrderInfo(context.Context, *IdRequest) (*Response, error) { return nil, status.Error(codes.Unimplemented, "method OrderInfo not implemented") } +func (UnimplementedOrderServer) UpdateAddressSaleInfo(context.Context, *UpdateAddressSaleInfoRequest) (*UpdateAddressSaleInfoResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateAddressSaleInfo not implemented") +} func (UnimplementedOrderServer) UpdateOrderDeliverStatus(context.Context, *UpdateOrderDeliverStatusRequest) (*UpdateOrderDeliverStatusResponse, error) { return nil, status.Error(codes.Unimplemented, "method UpdateOrderDeliverStatus not implemented") } @@ -730,6 +750,24 @@ func _Order_OrderInfo_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Order_UpdateAddressSaleInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAddressSaleInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrderServer).UpdateAddressSaleInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Order_UpdateAddressSaleInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrderServer).UpdateAddressSaleInfo(ctx, req.(*UpdateAddressSaleInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Order_UpdateOrderDeliverStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateOrderDeliverStatusRequest) if err := dec(in); err != nil { @@ -863,6 +901,10 @@ var Order_ServiceDesc = grpc.ServiceDesc{ MethodName: "OrderInfo", Handler: _Order_OrderInfo_Handler, }, + { + MethodName: "UpdateAddressSaleInfo", + Handler: _Order_UpdateAddressSaleInfo_Handler, + }, { MethodName: "UpdateOrderDeliverStatus", Handler: _Order_UpdateOrderDeliverStatus_Handler, diff --git a/rpc/store/pb/store.pb.go b/rpc/store/pb/store.pb.go index cbc1cab..70560da 100644 --- a/rpc/store/pb/store.pb.go +++ b/rpc/store/pb/store.pb.go @@ -246,6 +246,13 @@ type EditRequest struct { LatitudeWgs84 string `protobuf:"bytes,20,opt,name=latitude_wgs84,json=latitudeWgs84,proto3" json:"latitude_wgs84,omitempty"` LongitudeGcj02 string `protobuf:"bytes,21,opt,name=longitude_gcj02,json=longitudeGcj02,proto3" json:"longitude_gcj02,omitempty"` LatitudeGcj02 string `protobuf:"bytes,22,opt,name=latitude_gcj02,json=latitudeGcj02,proto3" json:"latitude_gcj02,omitempty"` + StoreType int64 `protobuf:"varint,23,opt,name=store_type,json=storeType,proto3" json:"store_type,omitempty"` + Province int64 `protobuf:"varint,24,opt,name=province,proto3" json:"province,omitempty"` + ProvinceName string `protobuf:"bytes,25,opt,name=province_name,json=provinceName,proto3" json:"province_name,omitempty"` + City int64 `protobuf:"varint,26,opt,name=city,proto3" json:"city,omitempty"` + CityName string `protobuf:"bytes,27,opt,name=city_name,json=cityName,proto3" json:"city_name,omitempty"` + County int64 `protobuf:"varint,28,opt,name=county,proto3" json:"county,omitempty"` + CountyName string `protobuf:"bytes,29,opt,name=county_name,json=countyName,proto3" json:"county_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -434,6 +441,55 @@ func (x *EditRequest) GetLatitudeGcj02() string { return "" } +func (x *EditRequest) GetStoreType() int64 { + if x != nil { + return x.StoreType + } + return 0 +} + +func (x *EditRequest) GetProvince() int64 { + if x != nil { + return x.Province + } + return 0 +} + +func (x *EditRequest) GetProvinceName() string { + if x != nil { + return x.ProvinceName + } + return "" +} + +func (x *EditRequest) GetCity() int64 { + if x != nil { + return x.City + } + return 0 +} + +func (x *EditRequest) GetCityName() string { + if x != nil { + return x.CityName + } + return "" +} + +func (x *EditRequest) GetCounty() int64 { + if x != nil { + return x.County + } + return 0 +} + +func (x *EditRequest) GetCountyName() string { + if x != nil { + return x.CountyName + } + return "" +} + type CreateRequest struct { state protoimpl.MessageState `protogen:"open.v1"` UserMobile string `protobuf:"bytes,1,opt,name=user_mobile,json=userMobile,proto3" json:"user_mobile,omitempty"` @@ -461,6 +517,13 @@ type CreateRequest struct { LatitudeWgs84 string `protobuf:"bytes,23,opt,name=latitude_wgs84,json=latitudeWgs84,proto3" json:"latitude_wgs84,omitempty"` LongitudeGcj02 string `protobuf:"bytes,24,opt,name=longitude_gcj02,json=longitudeGcj02,proto3" json:"longitude_gcj02,omitempty"` LatitudeGcj02 string `protobuf:"bytes,25,opt,name=latitude_gcj02,json=latitudeGcj02,proto3" json:"latitude_gcj02,omitempty"` + StoreType int64 `protobuf:"varint,26,opt,name=store_type,json=storeType,proto3" json:"store_type,omitempty"` + Province int64 `protobuf:"varint,27,opt,name=province,proto3" json:"province,omitempty"` + ProvinceName string `protobuf:"bytes,28,opt,name=province_name,json=provinceName,proto3" json:"province_name,omitempty"` + City int64 `protobuf:"varint,29,opt,name=city,proto3" json:"city,omitempty"` + CityName string `protobuf:"bytes,30,opt,name=city_name,json=cityName,proto3" json:"city_name,omitempty"` + County int64 `protobuf:"varint,31,opt,name=county,proto3" json:"county,omitempty"` + CountyName string `protobuf:"bytes,32,opt,name=county_name,json=countyName,proto3" json:"county_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -670,6 +733,55 @@ func (x *CreateRequest) GetLatitudeGcj02() string { return "" } +func (x *CreateRequest) GetStoreType() int64 { + if x != nil { + return x.StoreType + } + return 0 +} + +func (x *CreateRequest) GetProvince() int64 { + if x != nil { + return x.Province + } + return 0 +} + +func (x *CreateRequest) GetProvinceName() string { + if x != nil { + return x.ProvinceName + } + return "" +} + +func (x *CreateRequest) GetCity() int64 { + if x != nil { + return x.City + } + return 0 +} + +func (x *CreateRequest) GetCityName() string { + if x != nil { + return x.CityName + } + return "" +} + +func (x *CreateRequest) GetCounty() int64 { + if x != nil { + return x.County + } + return 0 +} + +func (x *CreateRequest) GetCountyName() string { + if x != nil { + return x.CountyName + } + return "" +} + type ToSaleRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` @@ -722,58 +834,6 @@ func (x *ToSaleRequest) GetSaleId() int64 { return 0 } -type PwdRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *PwdRequest) Reset() { - *x = PwdRequest{} - mi := &file_store_store_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PwdRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PwdRequest) ProtoMessage() {} - -func (x *PwdRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[7] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PwdRequest.ProtoReflect.Descriptor instead. -func (*PwdRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{7} -} - -func (x *PwdRequest) GetId() int64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *PwdRequest) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - type ContentRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` @@ -784,7 +844,7 @@ type ContentRequest struct { func (x *ContentRequest) Reset() { *x = ContentRequest{} - mi := &file_store_store_proto_msgTypes[8] + mi := &file_store_store_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -796,7 +856,7 @@ func (x *ContentRequest) String() string { func (*ContentRequest) ProtoMessage() {} func (x *ContentRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[8] + mi := &file_store_store_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -809,7 +869,7 @@ func (x *ContentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContentRequest.ProtoReflect.Descriptor instead. func (*ContentRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{8} + return file_store_store_proto_rawDescGZIP(), []int{7} } func (x *ContentRequest) GetId() int64 { @@ -839,7 +899,7 @@ type ItemsRequest struct { func (x *ItemsRequest) Reset() { *x = ItemsRequest{} - mi := &file_store_store_proto_msgTypes[9] + mi := &file_store_store_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -851,7 +911,7 @@ func (x *ItemsRequest) String() string { func (*ItemsRequest) ProtoMessage() {} func (x *ItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[9] + mi := &file_store_store_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -864,7 +924,7 @@ func (x *ItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemsRequest.ProtoReflect.Descriptor instead. func (*ItemsRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{9} + return file_store_store_proto_rawDescGZIP(), []int{8} } func (x *ItemsRequest) GetName() string { @@ -915,7 +975,7 @@ type VerifyItemsRequest struct { func (x *VerifyItemsRequest) Reset() { *x = VerifyItemsRequest{} - mi := &file_store_store_proto_msgTypes[10] + mi := &file_store_store_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -927,7 +987,7 @@ func (x *VerifyItemsRequest) String() string { func (*VerifyItemsRequest) ProtoMessage() {} func (x *VerifyItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[10] + mi := &file_store_store_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -940,7 +1000,7 @@ func (x *VerifyItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyItemsRequest.ProtoReflect.Descriptor instead. func (*VerifyItemsRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{10} + return file_store_store_proto_rawDescGZIP(), []int{9} } func (x *VerifyItemsRequest) GetName() string { @@ -987,7 +1047,7 @@ type VerifyEditRequest struct { func (x *VerifyEditRequest) Reset() { *x = VerifyEditRequest{} - mi := &file_store_store_proto_msgTypes[11] + mi := &file_store_store_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -999,7 +1059,7 @@ func (x *VerifyEditRequest) String() string { func (*VerifyEditRequest) ProtoMessage() {} func (x *VerifyEditRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[11] + mi := &file_store_store_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1012,7 +1072,7 @@ func (x *VerifyEditRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyEditRequest.ProtoReflect.Descriptor instead. func (*VerifyEditRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{11} + return file_store_store_proto_rawDescGZIP(), []int{10} } func (x *VerifyEditRequest) GetId() int64 { @@ -1032,7 +1092,7 @@ type ApplyEditRequest struct { func (x *ApplyEditRequest) Reset() { *x = ApplyEditRequest{} - mi := &file_store_store_proto_msgTypes[12] + mi := &file_store_store_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1044,7 +1104,7 @@ func (x *ApplyEditRequest) String() string { func (*ApplyEditRequest) ProtoMessage() {} func (x *ApplyEditRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[12] + mi := &file_store_store_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1057,7 +1117,7 @@ func (x *ApplyEditRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyEditRequest.ProtoReflect.Descriptor instead. func (*ApplyEditRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{12} + return file_store_store_proto_rawDescGZIP(), []int{11} } func (x *ApplyEditRequest) GetId() int64 { @@ -1086,7 +1146,7 @@ type DepositItemsRequest struct { func (x *DepositItemsRequest) Reset() { *x = DepositItemsRequest{} - mi := &file_store_store_proto_msgTypes[13] + mi := &file_store_store_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1098,7 +1158,7 @@ func (x *DepositItemsRequest) String() string { func (*DepositItemsRequest) ProtoMessage() {} func (x *DepositItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[13] + mi := &file_store_store_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1111,7 +1171,7 @@ func (x *DepositItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DepositItemsRequest.ProtoReflect.Descriptor instead. func (*DepositItemsRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{13} + return file_store_store_proto_rawDescGZIP(), []int{12} } func (x *DepositItemsRequest) GetName() string { @@ -1153,7 +1213,7 @@ type DepositVerifyRequest struct { func (x *DepositVerifyRequest) Reset() { *x = DepositVerifyRequest{} - mi := &file_store_store_proto_msgTypes[14] + mi := &file_store_store_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1165,7 +1225,7 @@ func (x *DepositVerifyRequest) String() string { func (*DepositVerifyRequest) ProtoMessage() {} func (x *DepositVerifyRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[14] + mi := &file_store_store_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1178,7 +1238,7 @@ func (x *DepositVerifyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DepositVerifyRequest.ProtoReflect.Descriptor instead. func (*DepositVerifyRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{14} + return file_store_store_proto_rawDescGZIP(), []int{13} } func (x *DepositVerifyRequest) GetName() string { @@ -1212,7 +1272,7 @@ type DepositIgnoreRequest struct { func (x *DepositIgnoreRequest) Reset() { *x = DepositIgnoreRequest{} - mi := &file_store_store_proto_msgTypes[15] + mi := &file_store_store_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1224,7 +1284,7 @@ func (x *DepositIgnoreRequest) String() string { func (*DepositIgnoreRequest) ProtoMessage() {} func (x *DepositIgnoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[15] + mi := &file_store_store_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1237,7 +1297,7 @@ func (x *DepositIgnoreRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DepositIgnoreRequest.ProtoReflect.Descriptor instead. func (*DepositIgnoreRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{15} + return file_store_store_proto_rawDescGZIP(), []int{14} } func (x *DepositIgnoreRequest) GetId() int64 { @@ -1264,7 +1324,7 @@ type DepositBackfillRequest struct { func (x *DepositBackfillRequest) Reset() { *x = DepositBackfillRequest{} - mi := &file_store_store_proto_msgTypes[16] + mi := &file_store_store_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1276,7 +1336,7 @@ func (x *DepositBackfillRequest) String() string { func (*DepositBackfillRequest) ProtoMessage() {} func (x *DepositBackfillRequest) ProtoReflect() protoreflect.Message { - mi := &file_store_store_proto_msgTypes[16] + mi := &file_store_store_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1289,7 +1349,7 @@ func (x *DepositBackfillRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DepositBackfillRequest.ProtoReflect.Descriptor instead. func (*DepositBackfillRequest) Descriptor() ([]byte, []int) { - return file_store_store_proto_rawDescGZIP(), []int{16} + return file_store_store_proto_rawDescGZIP(), []int{15} } func (x *DepositBackfillRequest) GetId() int64 { @@ -1306,6 +1366,110 @@ func (x *DepositBackfillRequest) GetAmount() float64 { return 0 } +type WebDepositCreateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bill string `protobuf:"bytes,1,opt,name=bill,proto3" json:"bill,omitempty"` + Amount float64 `protobuf:"fixed64,2,opt,name=amount,proto3" json:"amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WebDepositCreateRequest) Reset() { + *x = WebDepositCreateRequest{} + mi := &file_store_store_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WebDepositCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WebDepositCreateRequest) ProtoMessage() {} + +func (x *WebDepositCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_store_store_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WebDepositCreateRequest.ProtoReflect.Descriptor instead. +func (*WebDepositCreateRequest) Descriptor() ([]byte, []int) { + return file_store_store_proto_rawDescGZIP(), []int{16} +} + +func (x *WebDepositCreateRequest) GetBill() string { + if x != nil { + return x.Bill + } + return "" +} + +func (x *WebDepositCreateRequest) GetAmount() float64 { + if x != nil { + return x.Amount + } + return 0 +} + +type WebDepositItemsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + Size int32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WebDepositItemsRequest) Reset() { + *x = WebDepositItemsRequest{} + mi := &file_store_store_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WebDepositItemsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WebDepositItemsRequest) ProtoMessage() {} + +func (x *WebDepositItemsRequest) ProtoReflect() protoreflect.Message { + mi := &file_store_store_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WebDepositItemsRequest.ProtoReflect.Descriptor instead. +func (*WebDepositItemsRequest) Descriptor() ([]byte, []int) { + return file_store_store_proto_rawDescGZIP(), []int{17} +} + +func (x *WebDepositItemsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *WebDepositItemsRequest) GetSize() int32 { + if x != nil { + return x.Size + } + return 0 +} + var File_store_store_proto protoreflect.FileDescriptor const file_store_store_proto_rawDesc = "" + @@ -1321,7 +1485,7 @@ const file_store_store_proto_rawDesc = "" + "\bResponse\x12\x12\n" + "\x04code\x18\x01 \x01(\x05R\x04code\x12\x10\n" + "\x03msg\x18\x02 \x01(\tR\x03msg\x12\x12\n" + - "\x04data\x18\x03 \x01(\tR\x04data\"\x94\x05\n" + + "\x04data\x18\x03 \x01(\tR\x04data\"\xde\x06\n" + "\vEditRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1f\n" + "\vuser_mobile\x18\x02 \x01(\tR\n" + @@ -1346,7 +1510,16 @@ const file_store_store_proto_rawDesc = "" + "\x0flongitude_wgs84\x18\x13 \x01(\tR\x0elongitudeWgs84\x12%\n" + "\x0elatitude_wgs84\x18\x14 \x01(\tR\rlatitudeWgs84\x12'\n" + "\x0flongitude_gcj02\x18\x15 \x01(\tR\x0elongitudeGcj02\x12%\n" + - "\x0elatitude_gcj02\x18\x16 \x01(\tR\rlatitudeGcj02\"\x90\x06\n" + + "\x0elatitude_gcj02\x18\x16 \x01(\tR\rlatitudeGcj02\x12\x1d\n" + + "\n" + + "store_type\x18\x17 \x01(\x03R\tstoreType\x12\x1a\n" + + "\bprovince\x18\x18 \x01(\x03R\bprovince\x12#\n" + + "\rprovince_name\x18\x19 \x01(\tR\fprovinceName\x12\x12\n" + + "\x04city\x18\x1a \x01(\x03R\x04city\x12\x1b\n" + + "\tcity_name\x18\x1b \x01(\tR\bcityName\x12\x16\n" + + "\x06county\x18\x1c \x01(\x03R\x06county\x12\x1f\n" + + "\vcounty_name\x18\x1d \x01(\tR\n" + + "countyName\"\xda\a\n" + "\rCreateRequest\x12\x1f\n" + "\vuser_mobile\x18\x01 \x01(\tR\n" + "userMobile\x12\x12\n" + @@ -1374,14 +1547,19 @@ const file_store_store_proto_rawDesc = "" + "\x0flongitude_wgs84\x18\x16 \x01(\tR\x0elongitudeWgs84\x12%\n" + "\x0elatitude_wgs84\x18\x17 \x01(\tR\rlatitudeWgs84\x12'\n" + "\x0flongitude_gcj02\x18\x18 \x01(\tR\x0elongitudeGcj02\x12%\n" + - "\x0elatitude_gcj02\x18\x19 \x01(\tR\rlatitudeGcj02\"8\n" + + "\x0elatitude_gcj02\x18\x19 \x01(\tR\rlatitudeGcj02\x12\x1d\n" + + "\n" + + "store_type\x18\x1a \x01(\x03R\tstoreType\x12\x1a\n" + + "\bprovince\x18\x1b \x01(\x03R\bprovince\x12#\n" + + "\rprovince_name\x18\x1c \x01(\tR\fprovinceName\x12\x12\n" + + "\x04city\x18\x1d \x01(\x03R\x04city\x12\x1b\n" + + "\tcity_name\x18\x1e \x01(\tR\bcityName\x12\x16\n" + + "\x06county\x18\x1f \x01(\x03R\x06county\x12\x1f\n" + + "\vcounty_name\x18 \x01(\tR\n" + + "countyName\"8\n" + "\rToSaleRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x17\n" + - "\asale_id\x18\x02 \x01(\x03R\x06saleId\"8\n" + - "\n" + - "PwdRequest\x12\x0e\n" + - "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + - "\bpassword\x18\x02 \x01(\tR\bpassword\":\n" + + "\asale_id\x18\x02 \x01(\x03R\x06saleId\":\n" + "\x0eContentRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x18\n" + "\acontent\x18\x02 \x01(\tR\acontent\"{\n" + @@ -1416,14 +1594,19 @@ const file_store_store_proto_rawDesc = "" + "\x06reason\x18\x02 \x01(\tR\x06reason\"@\n" + "\x16DepositBackfillRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x16\n" + - "\x06amount\x18\x02 \x01(\x01R\x06amount2\xe8\x10\n" + + "\x06amount\x18\x02 \x01(\x01R\x06amount\"E\n" + + "\x17WebDepositCreateRequest\x12\x12\n" + + "\x04bill\x18\x01 \x01(\tR\x04bill\x12\x16\n" + + "\x06amount\x18\x02 \x01(\x01R\x06amount\"@\n" + + "\x16WebDepositItemsRequest\x12\x12\n" + + "\x04page\x18\x01 \x01(\x05R\x04page\x12\x12\n" + + "\x04size\x18\x02 \x01(\x05R\x04size2\xa2\x12\n" + "\x05Store\x12R\n" + "\x06Status\x12\x14.store.StatusRequest\x1a\x0f.store.Response\"!\x82\xd3\xe4\x93\x02\x1b:\x01*\"\x16/admin/v3/store/status\x12L\n" + "\x04Edit\x12\x12.store.EditRequest\x1a\x0f.store.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/admin/v3/store/edit\x12R\n" + "\x06Create\x12\x14.store.CreateRequest\x1a\x0f.store.Response\"!\x82\xd3\xe4\x93\x02\x1b:\x01*\"\x16/admin/v3/store/create\x12S\n" + - "\x06ToSale\x12\x14.store.StatusRequest\x1a\x0f.store.Response\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/admin/v3/store/to_sale\x12I\n" + - "\x03Pwd\x12\x11.store.PwdRequest\x1a\x0f.store.Response\"\x1e\x82\xd3\xe4\x93\x02\x18:\x01*\"\x13/admin/v3/store/pwd\x12N\n" + - "\x04Info\x12\x14.store.ToSaleRequest\x1a\x0f.store.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x12\x14/admin/v3/store/info\x12U\n" + + "\x06ToSale\x12\x14.store.ToSaleRequest\x1a\x0f.store.Response\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/admin/v3/store/to_sale\x12J\n" + + "\x04Info\x12\x10.store.IdRequest\x1a\x0f.store.Response\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x12\x14/admin/v3/store/info\x12U\n" + "\aContent\x12\x15.store.ContentRequest\x1a\x0f.store.Response\"\"\x82\xd3\xe4\x93\x02\x1c:\x01*\x12\x17/admin/v3/store/content\x12O\n" + "\x05Names\x12\x13.store.EmptyRequest\x1a\x0f.store.Response\" \x82\xd3\xe4\x93\x02\x1a:\x01*\x12\x15/admin/v3/store/names\x12O\n" + "\x05Items\x12\x13.store.ItemsRequest\x1a\x0f.store.Response\" \x82\xd3\xe4\x93\x02\x1a:\x01*\x12\x15/admin/v3/store/items\x12b\n" + @@ -1441,7 +1624,10 @@ const file_store_store_proto_rawDesc = "" + "\fDepositItems\x12\x1a.store.DepositItemsRequest\x1a\x0f.store.Response\"(\x82\xd3\xe4\x93\x02\":\x01*\x12\x1d/admin/v3/store/deposit/items\x12s\n" + "\x12DepositIgnoreItems\x12\x1b.store.DepositVerifyRequest\x1a\x0f.store.Response\"/\x82\xd3\xe4\x93\x02):\x01*\x12$/admin/v3/store/deposit/ignore/items\x12_\n" + "\x0eDepositRecover\x12\x10.store.IdRequest\x1a\x0f.store.Response\"*\x82\xd3\xe4\x93\x02$:\x01*\x12\x1f/admin/v3/store/deposit/recover\x12n\n" + - "\x0fDepositBackfill\x12\x1d.store.DepositBackfillRequest\x1a\x0f.store.Response\"+\x82\xd3\xe4\x93\x02%:\x01*\x12 /admin/v3/store/deposit/backfillB\tZ\a./storeb\x06proto3" + "\x0fDepositBackfill\x12\x1d.store.DepositBackfillRequest\x1a\x0f.store.Response\"+\x82\xd3\xe4\x93\x02%:\x01*\x12 /admin/v3/store/deposit/backfill\x12l\n" + + "\x10WebDepositCreate\x12\x1e.store.WebDepositCreateRequest\x1a\x0f.store.Response\"'\x82\xd3\xe4\x93\x02!:\x01*\"\x1c/api/v3/store/deposit/create\x12i\n" + + "\x0fWebDepositItems\x12\x1d.store.WebDepositItemsRequest\x1a\x0f.store.Response\"&\x82\xd3\xe4\x93\x02 :\x01*\x12\x1b/api/v3/store/deposit/items\x12.\n" + + "\x06SetDef\x12\x13.store.EmptyRequest\x1a\x0f.store.ResponseB\tZ\a./storeb\x06proto3" var ( file_store_store_proto_rawDescOnce sync.Once @@ -1455,75 +1641,80 @@ func file_store_store_proto_rawDescGZIP() []byte { return file_store_store_proto_rawDescData } -var file_store_store_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_store_store_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_store_store_proto_goTypes = []any{ - (*EmptyRequest)(nil), // 0: store.EmptyRequest - (*IdRequest)(nil), // 1: store.IdRequest - (*StatusRequest)(nil), // 2: store.StatusRequest - (*Response)(nil), // 3: store.Response - (*EditRequest)(nil), // 4: store.EditRequest - (*CreateRequest)(nil), // 5: store.CreateRequest - (*ToSaleRequest)(nil), // 6: store.ToSaleRequest - (*PwdRequest)(nil), // 7: store.PwdRequest - (*ContentRequest)(nil), // 8: store.ContentRequest - (*ItemsRequest)(nil), // 9: store.ItemsRequest - (*VerifyItemsRequest)(nil), // 10: store.VerifyItemsRequest - (*VerifyEditRequest)(nil), // 11: store.VerifyEditRequest - (*ApplyEditRequest)(nil), // 12: store.ApplyEditRequest - (*DepositItemsRequest)(nil), // 13: store.DepositItemsRequest - (*DepositVerifyRequest)(nil), // 14: store.DepositVerifyRequest - (*DepositIgnoreRequest)(nil), // 15: store.DepositIgnoreRequest - (*DepositBackfillRequest)(nil), // 16: store.DepositBackfillRequest + (*EmptyRequest)(nil), // 0: store.EmptyRequest + (*IdRequest)(nil), // 1: store.IdRequest + (*StatusRequest)(nil), // 2: store.StatusRequest + (*Response)(nil), // 3: store.Response + (*EditRequest)(nil), // 4: store.EditRequest + (*CreateRequest)(nil), // 5: store.CreateRequest + (*ToSaleRequest)(nil), // 6: store.ToSaleRequest + (*ContentRequest)(nil), // 7: store.ContentRequest + (*ItemsRequest)(nil), // 8: store.ItemsRequest + (*VerifyItemsRequest)(nil), // 9: store.VerifyItemsRequest + (*VerifyEditRequest)(nil), // 10: store.VerifyEditRequest + (*ApplyEditRequest)(nil), // 11: store.ApplyEditRequest + (*DepositItemsRequest)(nil), // 12: store.DepositItemsRequest + (*DepositVerifyRequest)(nil), // 13: store.DepositVerifyRequest + (*DepositIgnoreRequest)(nil), // 14: store.DepositIgnoreRequest + (*DepositBackfillRequest)(nil), // 15: store.DepositBackfillRequest + (*WebDepositCreateRequest)(nil), // 16: store.WebDepositCreateRequest + (*WebDepositItemsRequest)(nil), // 17: store.WebDepositItemsRequest } var file_store_store_proto_depIdxs = []int32{ 2, // 0: store.Store.Status:input_type -> store.StatusRequest 4, // 1: store.Store.Edit:input_type -> store.EditRequest 5, // 2: store.Store.Create:input_type -> store.CreateRequest - 2, // 3: store.Store.ToSale:input_type -> store.StatusRequest - 7, // 4: store.Store.Pwd:input_type -> store.PwdRequest - 6, // 5: store.Store.Info:input_type -> store.ToSaleRequest - 8, // 6: store.Store.Content:input_type -> store.ContentRequest - 0, // 7: store.Store.Names:input_type -> store.EmptyRequest - 9, // 8: store.Store.Items:input_type -> store.ItemsRequest - 10, // 9: store.Store.VerifyItems:input_type -> store.VerifyItemsRequest - 2, // 10: store.Store.VerifyStatus:input_type -> store.StatusRequest - 4, // 11: store.Store.VerifyEdit:input_type -> store.EditRequest - 12, // 12: store.Store.ApplyEdit:input_type -> store.ApplyEditRequest - 9, // 13: store.Store.ApplyVerify:input_type -> store.ItemsRequest - 2, // 14: store.Store.ApplyVerifyStatus:input_type -> store.StatusRequest - 1, // 15: store.Store.DepositDone:input_type -> store.IdRequest - 15, // 16: store.Store.DepositIgnore:input_type -> store.DepositIgnoreRequest - 14, // 17: store.Store.DepositVerify:input_type -> store.DepositVerifyRequest - 13, // 18: store.Store.DepositDown:input_type -> store.DepositItemsRequest - 13, // 19: store.Store.DepositItems:input_type -> store.DepositItemsRequest - 14, // 20: store.Store.DepositIgnoreItems:input_type -> store.DepositVerifyRequest - 1, // 21: store.Store.DepositRecover:input_type -> store.IdRequest - 16, // 22: store.Store.DepositBackfill:input_type -> store.DepositBackfillRequest - 3, // 23: store.Store.Status:output_type -> store.Response - 3, // 24: store.Store.Edit:output_type -> store.Response - 3, // 25: store.Store.Create:output_type -> store.Response - 3, // 26: store.Store.ToSale:output_type -> store.Response - 3, // 27: store.Store.Pwd:output_type -> store.Response - 3, // 28: store.Store.Info:output_type -> store.Response - 3, // 29: store.Store.Content:output_type -> store.Response - 3, // 30: store.Store.Names:output_type -> store.Response - 3, // 31: store.Store.Items:output_type -> store.Response - 3, // 32: store.Store.VerifyItems:output_type -> store.Response - 3, // 33: store.Store.VerifyStatus:output_type -> store.Response - 3, // 34: store.Store.VerifyEdit:output_type -> store.Response - 3, // 35: store.Store.ApplyEdit:output_type -> store.Response - 3, // 36: store.Store.ApplyVerify:output_type -> store.Response - 3, // 37: store.Store.ApplyVerifyStatus:output_type -> store.Response - 3, // 38: store.Store.DepositDone:output_type -> store.Response - 3, // 39: store.Store.DepositIgnore:output_type -> store.Response - 3, // 40: store.Store.DepositVerify:output_type -> store.Response - 3, // 41: store.Store.DepositDown:output_type -> store.Response - 3, // 42: store.Store.DepositItems:output_type -> store.Response - 3, // 43: store.Store.DepositIgnoreItems:output_type -> store.Response - 3, // 44: store.Store.DepositRecover:output_type -> store.Response - 3, // 45: store.Store.DepositBackfill:output_type -> store.Response - 23, // [23:46] is the sub-list for method output_type - 0, // [0:23] is the sub-list for method input_type + 6, // 3: store.Store.ToSale:input_type -> store.ToSaleRequest + 1, // 4: store.Store.Info:input_type -> store.IdRequest + 7, // 5: store.Store.Content:input_type -> store.ContentRequest + 0, // 6: store.Store.Names:input_type -> store.EmptyRequest + 8, // 7: store.Store.Items:input_type -> store.ItemsRequest + 9, // 8: store.Store.VerifyItems:input_type -> store.VerifyItemsRequest + 2, // 9: store.Store.VerifyStatus:input_type -> store.StatusRequest + 4, // 10: store.Store.VerifyEdit:input_type -> store.EditRequest + 11, // 11: store.Store.ApplyEdit:input_type -> store.ApplyEditRequest + 8, // 12: store.Store.ApplyVerify:input_type -> store.ItemsRequest + 2, // 13: store.Store.ApplyVerifyStatus:input_type -> store.StatusRequest + 1, // 14: store.Store.DepositDone:input_type -> store.IdRequest + 14, // 15: store.Store.DepositIgnore:input_type -> store.DepositIgnoreRequest + 13, // 16: store.Store.DepositVerify:input_type -> store.DepositVerifyRequest + 12, // 17: store.Store.DepositDown:input_type -> store.DepositItemsRequest + 12, // 18: store.Store.DepositItems:input_type -> store.DepositItemsRequest + 13, // 19: store.Store.DepositIgnoreItems:input_type -> store.DepositVerifyRequest + 1, // 20: store.Store.DepositRecover:input_type -> store.IdRequest + 15, // 21: store.Store.DepositBackfill:input_type -> store.DepositBackfillRequest + 16, // 22: store.Store.WebDepositCreate:input_type -> store.WebDepositCreateRequest + 17, // 23: store.Store.WebDepositItems:input_type -> store.WebDepositItemsRequest + 0, // 24: store.Store.SetDef:input_type -> store.EmptyRequest + 3, // 25: store.Store.Status:output_type -> store.Response + 3, // 26: store.Store.Edit:output_type -> store.Response + 3, // 27: store.Store.Create:output_type -> store.Response + 3, // 28: store.Store.ToSale:output_type -> store.Response + 3, // 29: store.Store.Info:output_type -> store.Response + 3, // 30: store.Store.Content:output_type -> store.Response + 3, // 31: store.Store.Names:output_type -> store.Response + 3, // 32: store.Store.Items:output_type -> store.Response + 3, // 33: store.Store.VerifyItems:output_type -> store.Response + 3, // 34: store.Store.VerifyStatus:output_type -> store.Response + 3, // 35: store.Store.VerifyEdit:output_type -> store.Response + 3, // 36: store.Store.ApplyEdit:output_type -> store.Response + 3, // 37: store.Store.ApplyVerify:output_type -> store.Response + 3, // 38: store.Store.ApplyVerifyStatus:output_type -> store.Response + 3, // 39: store.Store.DepositDone:output_type -> store.Response + 3, // 40: store.Store.DepositIgnore:output_type -> store.Response + 3, // 41: store.Store.DepositVerify:output_type -> store.Response + 3, // 42: store.Store.DepositDown:output_type -> store.Response + 3, // 43: store.Store.DepositItems:output_type -> store.Response + 3, // 44: store.Store.DepositIgnoreItems:output_type -> store.Response + 3, // 45: store.Store.DepositRecover:output_type -> store.Response + 3, // 46: store.Store.DepositBackfill:output_type -> store.Response + 3, // 47: store.Store.WebDepositCreate:output_type -> store.Response + 3, // 48: store.Store.WebDepositItems:output_type -> store.Response + 3, // 49: store.Store.SetDef:output_type -> store.Response + 25, // [25:50] is the sub-list for method output_type + 0, // [0:25] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -1540,7 +1731,7 @@ func file_store_store_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_store_store_proto_rawDesc), len(file_store_store_proto_rawDesc)), NumEnums: 0, - NumMessages: 17, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/store/pb/store_grpc.pb.go b/rpc/store/pb/store_grpc.pb.go index d67d2e4..d021e5f 100644 --- a/rpc/store/pb/store_grpc.pb.go +++ b/rpc/store/pb/store_grpc.pb.go @@ -23,7 +23,6 @@ const ( Store_Edit_FullMethodName = "/store.Store/Edit" Store_Create_FullMethodName = "/store.Store/Create" Store_ToSale_FullMethodName = "/store.Store/ToSale" - Store_Pwd_FullMethodName = "/store.Store/Pwd" Store_Info_FullMethodName = "/store.Store/Info" Store_Content_FullMethodName = "/store.Store/Content" Store_Names_FullMethodName = "/store.Store/Names" @@ -42,6 +41,9 @@ const ( Store_DepositIgnoreItems_FullMethodName = "/store.Store/DepositIgnoreItems" Store_DepositRecover_FullMethodName = "/store.Store/DepositRecover" Store_DepositBackfill_FullMethodName = "/store.Store/DepositBackfill" + Store_WebDepositCreate_FullMethodName = "/store.Store/WebDepositCreate" + Store_WebDepositItems_FullMethodName = "/store.Store/WebDepositItems" + Store_SetDef_FullMethodName = "/store.Store/SetDef" ) // StoreClient is the client API for Store service. @@ -51,9 +53,8 @@ type StoreClient interface { Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) Edit(ctx context.Context, in *EditRequest, opts ...grpc.CallOption) (*Response, error) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*Response, error) - ToSale(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) - Pwd(ctx context.Context, in *PwdRequest, opts ...grpc.CallOption) (*Response, error) - Info(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) + ToSale(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) + Info(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) Content(ctx context.Context, in *ContentRequest, opts ...grpc.CallOption) (*Response, error) Names(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) Items(ctx context.Context, in *ItemsRequest, opts ...grpc.CallOption) (*Response, error) @@ -71,6 +72,9 @@ type StoreClient interface { DepositIgnoreItems(ctx context.Context, in *DepositVerifyRequest, opts ...grpc.CallOption) (*Response, error) DepositRecover(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) DepositBackfill(ctx context.Context, in *DepositBackfillRequest, opts ...grpc.CallOption) (*Response, error) + WebDepositCreate(ctx context.Context, in *WebDepositCreateRequest, opts ...grpc.CallOption) (*Response, error) + WebDepositItems(ctx context.Context, in *WebDepositItemsRequest, opts ...grpc.CallOption) (*Response, error) + SetDef(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) } type storeClient struct { @@ -111,7 +115,7 @@ func (c *storeClient) Create(ctx context.Context, in *CreateRequest, opts ...grp return out, nil } -func (c *storeClient) ToSale(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) { +func (c *storeClient) ToSale(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Response) err := c.cc.Invoke(ctx, Store_ToSale_FullMethodName, in, out, cOpts...) @@ -121,17 +125,7 @@ func (c *storeClient) ToSale(ctx context.Context, in *StatusRequest, opts ...grp return out, nil } -func (c *storeClient) Pwd(ctx context.Context, in *PwdRequest, opts ...grpc.CallOption) (*Response, error) { - cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(Response) - err := c.cc.Invoke(ctx, Store_Pwd_FullMethodName, in, out, cOpts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *storeClient) Info(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) { +func (c *storeClient) Info(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Response) err := c.cc.Invoke(ctx, Store_Info_FullMethodName, in, out, cOpts...) @@ -311,6 +305,36 @@ func (c *storeClient) DepositBackfill(ctx context.Context, in *DepositBackfillRe return out, nil } +func (c *storeClient) WebDepositCreate(ctx context.Context, in *WebDepositCreateRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Store_WebDepositCreate_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storeClient) WebDepositItems(ctx context.Context, in *WebDepositItemsRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Store_WebDepositItems_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storeClient) SetDef(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Store_SetDef_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // StoreServer is the server API for Store service. // All implementations must embed UnimplementedStoreServer // for forward compatibility. @@ -318,9 +342,8 @@ type StoreServer interface { Status(context.Context, *StatusRequest) (*Response, error) Edit(context.Context, *EditRequest) (*Response, error) Create(context.Context, *CreateRequest) (*Response, error) - ToSale(context.Context, *StatusRequest) (*Response, error) - Pwd(context.Context, *PwdRequest) (*Response, error) - Info(context.Context, *ToSaleRequest) (*Response, error) + ToSale(context.Context, *ToSaleRequest) (*Response, error) + Info(context.Context, *IdRequest) (*Response, error) Content(context.Context, *ContentRequest) (*Response, error) Names(context.Context, *EmptyRequest) (*Response, error) Items(context.Context, *ItemsRequest) (*Response, error) @@ -338,6 +361,9 @@ type StoreServer interface { DepositIgnoreItems(context.Context, *DepositVerifyRequest) (*Response, error) DepositRecover(context.Context, *IdRequest) (*Response, error) DepositBackfill(context.Context, *DepositBackfillRequest) (*Response, error) + WebDepositCreate(context.Context, *WebDepositCreateRequest) (*Response, error) + WebDepositItems(context.Context, *WebDepositItemsRequest) (*Response, error) + SetDef(context.Context, *EmptyRequest) (*Response, error) mustEmbedUnimplementedStoreServer() } @@ -357,13 +383,10 @@ func (UnimplementedStoreServer) Edit(context.Context, *EditRequest) (*Response, func (UnimplementedStoreServer) Create(context.Context, *CreateRequest) (*Response, error) { return nil, status.Error(codes.Unimplemented, "method Create not implemented") } -func (UnimplementedStoreServer) ToSale(context.Context, *StatusRequest) (*Response, error) { +func (UnimplementedStoreServer) ToSale(context.Context, *ToSaleRequest) (*Response, error) { return nil, status.Error(codes.Unimplemented, "method ToSale not implemented") } -func (UnimplementedStoreServer) Pwd(context.Context, *PwdRequest) (*Response, error) { - return nil, status.Error(codes.Unimplemented, "method Pwd not implemented") -} -func (UnimplementedStoreServer) Info(context.Context, *ToSaleRequest) (*Response, error) { +func (UnimplementedStoreServer) Info(context.Context, *IdRequest) (*Response, error) { return nil, status.Error(codes.Unimplemented, "method Info not implemented") } func (UnimplementedStoreServer) Content(context.Context, *ContentRequest) (*Response, error) { @@ -417,6 +440,15 @@ func (UnimplementedStoreServer) DepositRecover(context.Context, *IdRequest) (*Re func (UnimplementedStoreServer) DepositBackfill(context.Context, *DepositBackfillRequest) (*Response, error) { return nil, status.Error(codes.Unimplemented, "method DepositBackfill not implemented") } +func (UnimplementedStoreServer) WebDepositCreate(context.Context, *WebDepositCreateRequest) (*Response, error) { + return nil, status.Error(codes.Unimplemented, "method WebDepositCreate not implemented") +} +func (UnimplementedStoreServer) WebDepositItems(context.Context, *WebDepositItemsRequest) (*Response, error) { + return nil, status.Error(codes.Unimplemented, "method WebDepositItems not implemented") +} +func (UnimplementedStoreServer) SetDef(context.Context, *EmptyRequest) (*Response, error) { + return nil, status.Error(codes.Unimplemented, "method SetDef not implemented") +} func (UnimplementedStoreServer) mustEmbedUnimplementedStoreServer() {} func (UnimplementedStoreServer) testEmbeddedByValue() {} @@ -493,7 +525,7 @@ func _Store_Create_Handler(srv interface{}, ctx context.Context, dec func(interf } func _Store_ToSale_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StatusRequest) + in := new(ToSaleRequest) if err := dec(in); err != nil { return nil, err } @@ -505,31 +537,13 @@ func _Store_ToSale_Handler(srv interface{}, ctx context.Context, dec func(interf FullMethod: Store_ToSale_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StoreServer).ToSale(ctx, req.(*StatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Store_Pwd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PwdRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(StoreServer).Pwd(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Store_Pwd_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StoreServer).Pwd(ctx, req.(*PwdRequest)) + return srv.(StoreServer).ToSale(ctx, req.(*ToSaleRequest)) } return interceptor(ctx, in, info, handler) } func _Store_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ToSaleRequest) + in := new(IdRequest) if err := dec(in); err != nil { return nil, err } @@ -541,7 +555,7 @@ func _Store_Info_Handler(srv interface{}, ctx context.Context, dec func(interfac FullMethod: Store_Info_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StoreServer).Info(ctx, req.(*ToSaleRequest)) + return srv.(StoreServer).Info(ctx, req.(*IdRequest)) } return interceptor(ctx, in, info, handler) } @@ -852,6 +866,60 @@ func _Store_DepositBackfill_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Store_WebDepositCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WebDepositCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StoreServer).WebDepositCreate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Store_WebDepositCreate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StoreServer).WebDepositCreate(ctx, req.(*WebDepositCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Store_WebDepositItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WebDepositItemsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StoreServer).WebDepositItems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Store_WebDepositItems_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StoreServer).WebDepositItems(ctx, req.(*WebDepositItemsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Store_SetDef_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StoreServer).SetDef(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Store_SetDef_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StoreServer).SetDef(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Store_ServiceDesc is the grpc.ServiceDesc for Store service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -875,10 +943,6 @@ var Store_ServiceDesc = grpc.ServiceDesc{ MethodName: "ToSale", Handler: _Store_ToSale_Handler, }, - { - MethodName: "Pwd", - Handler: _Store_Pwd_Handler, - }, { MethodName: "Info", Handler: _Store_Info_Handler, @@ -951,6 +1015,18 @@ var Store_ServiceDesc = grpc.ServiceDesc{ MethodName: "DepositBackfill", Handler: _Store_DepositBackfill_Handler, }, + { + MethodName: "WebDepositCreate", + Handler: _Store_WebDepositCreate_Handler, + }, + { + MethodName: "WebDepositItems", + Handler: _Store_WebDepositItems_Handler, + }, + { + MethodName: "SetDef", + Handler: _Store_SetDef_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "store/store.proto", diff --git a/rpc/store/store.pb b/rpc/store/store.pb index a27eb382aba339cde10d14e62a7152557962b909..6c908adb1d0614e2e26b10be59a8c6362ecd15fd 100644 GIT binary patch delta 777 zcmcc9!}xO|#*s$S=+;aV|qg7vTlv4GehbBZ&o zQo%ZaVj#BBBB9L>Z3P%7_uI=)7O+=g_u^vl%uCCk+~umWd7b@iHg%yKE&+6h3CZb! zQ;;4)V)9%&`NCKF$<6WBJpS_m*tmbbCCu;Ahf zC{GDWEi6qfE)nA6V#-XBU{qk#U=9MZgrvAQ3KENp%kzs;B$$AroIx=D<_MbyOw2|v z1U4VB7hs%x!%2SfX9pD_PcCMlaYBN6#U=Sgsd_;6WJM=Qb-AX?PbM=-C<*H)rsQVk z>6aPngB9o(l&4rRY65;}kYwC(bB#J&3v_wt}Mkl6+$T Dlr%)J diff --git a/rpc/store/store.proto b/rpc/store/store.proto index 4f9460d..39b5ea5 100644 --- a/rpc/store/store.proto +++ b/rpc/store/store.proto @@ -46,6 +46,13 @@ message EditRequest { string latitude_wgs84 = 20; string longitude_gcj02 = 21; string latitude_gcj02 = 22; + int64 store_type = 23; + int64 province = 24; + string province_name = 25; + int64 city = 26; + string city_name = 27; + int64 county = 28; + string county_name = 29; } message CreateRequest { @@ -74,6 +81,13 @@ message CreateRequest { string latitude_wgs84 = 23; string longitude_gcj02 = 24; string latitude_gcj02 = 25; + int64 store_type = 26; + int64 province = 27; + string province_name = 28; + int64 city = 29; + string city_name = 30; + int64 county = 31; + string county_name = 32; } message ToSaleRequest { @@ -81,11 +95,6 @@ message ToSaleRequest { int64 sale_id = 2; } -message PwdRequest { - int64 id = 1; - string password = 2; -} - message ContentRequest { int64 id = 1; string content = 2; @@ -137,6 +146,16 @@ message DepositBackfillRequest { double amount = 2; } +message WebDepositCreateRequest { + string bill = 1; + double amount = 2; +} + +message WebDepositItemsRequest { + int32 page = 1; + int32 size = 2; +} + service Store { rpc Status(StatusRequest) returns(Response){ option (google.api.http) = { @@ -156,19 +175,13 @@ service Store { body: "*" }; }; - rpc ToSale(StatusRequest) returns(Response){ + rpc ToSale(ToSaleRequest) returns(Response){ option (google.api.http) = { post: "/admin/v3/store/to_sale" body: "*" }; }; - rpc Pwd(PwdRequest) returns(Response){ - option (google.api.http) = { - post: "/admin/v3/store/pwd" - body: "*" - }; - }; - rpc Info(ToSaleRequest) returns(Response){ + rpc Info(IdRequest) returns(Response){ option (google.api.http) = { get: "/admin/v3/store/info" body: "*" @@ -282,4 +295,21 @@ service Store { body: "*" }; } + + /******************前端接口******************/ + + rpc WebDepositCreate(WebDepositCreateRequest) returns (Response) { + option (google.api.http) = { + post: "/api/v3/store/deposit/create" + body: "*" + }; + } + rpc WebDepositItems(WebDepositItemsRequest) returns (Response) { + option (google.api.http) = { + get: "/api/v3/store/deposit/items" + body: "*" + }; + } + + rpc SetDef(EmptyRequest) returns (Response); } \ No newline at end of file diff --git a/services/factory/internal/logic/groupInfoLogic.go b/services/factory/internal/logic/groupInfoLogic.go index b362432..731b96d 100644 --- a/services/factory/internal/logic/groupInfoLogic.go +++ b/services/factory/internal/logic/groupInfoLogic.go @@ -35,7 +35,10 @@ func (l *GroupInfoLogic) GroupInfo(in *factory.IdRequest) (*factory.Response, er if fail := l.checkParams(in, &v); fail != nil { return fail, nil } - + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } var info dao.GroupInfo modelObj := model.GroupModel{}.Init() w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} diff --git a/services/factory/internal/logic/groupNamesLogic.go b/services/factory/internal/logic/groupNamesLogic.go index 08e6f7c..dea3949 100644 --- a/services/factory/internal/logic/groupNamesLogic.go +++ b/services/factory/internal/logic/groupNamesLogic.go @@ -28,6 +28,10 @@ func NewGroupNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GroupN } func (l *GroupNamesLogic) GroupNames(in *factory.EmptyRequest) (*factory.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } w := modelbase.Params{Eq: map[string]string{"id": utils.StringStatusOk}} var names []dao.GroupName err := model.GroupModel{}.Init().Items(w, &names) diff --git a/services/factory/internal/logic/postInfoLogic.go b/services/factory/internal/logic/postInfoLogic.go index 0a2b6ab..cd332a3 100644 --- a/services/factory/internal/logic/postInfoLogic.go +++ b/services/factory/internal/logic/postInfoLogic.go @@ -35,7 +35,10 @@ func (l *PostInfoLogic) PostInfo(in *factory.IdRequest) (*factory.Response, erro if fail := l.checkParams(in, &v); fail != nil { return fail, nil } - + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } var info dao.PostInfo modelObj := model.PostModel{}.Init() w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} diff --git a/services/factory/internal/logic/postNamesLogic.go b/services/factory/internal/logic/postNamesLogic.go index 9eacf0a..6dfec1b 100644 --- a/services/factory/internal/logic/postNamesLogic.go +++ b/services/factory/internal/logic/postNamesLogic.go @@ -29,6 +29,10 @@ func NewPostNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PostNam } func (l *PostNamesLogic) PostNames(in *factory.EmptyRequest) (*factory.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } w := modelbase.Params{Eq: map[string]string{"status": utils.StringStatusOk}} var names []dao.PostName err := model.PostModel{}.Init().Items(w, &names) diff --git a/services/factory/internal/logic/workerInfoLogic.go b/services/factory/internal/logic/workerInfoLogic.go index 9887e7c..bad9e14 100644 --- a/services/factory/internal/logic/workerInfoLogic.go +++ b/services/factory/internal/logic/workerInfoLogic.go @@ -35,7 +35,10 @@ func (l *WorkerInfoLogic) WorkerInfo(in *factory.IdRequest) (*factory.Response, if fail := l.checkParams(in, &v); fail != nil { return fail, nil } - + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } var info dao.WorkerInfo modelObj := model.WorkerModel{}.Init() w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} diff --git a/services/factory/internal/logic/workerNamesLogic.go b/services/factory/internal/logic/workerNamesLogic.go index 34082a9..7bd326f 100644 --- a/services/factory/internal/logic/workerNamesLogic.go +++ b/services/factory/internal/logic/workerNamesLogic.go @@ -29,6 +29,10 @@ func NewWorkerNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Worke } func (l *WorkerNamesLogic) WorkerNames(in *factory.EmptyRequest) (*factory.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } w := modelbase.Params{Eq: map[string]string{"status": utils.StringStatusOk}} var names []dao.WorkerName err := model.WorkerModel{}.Init().Items(w, &names) diff --git a/services/order/internal/dao/address.go b/services/order/internal/dao/address.go index 37e363a..c3ac01c 100644 --- a/services/order/internal/dao/address.go +++ b/services/order/internal/dao/address.go @@ -41,6 +41,11 @@ type WebStatus struct { Status int32 `json:"status" gorm:"status"` // 状态,1是正常,2为申请,3为一审核,4为二审核中,5为拒绝申请,6为审核失败,7为删除 } +type AddressSaleInfo struct { + SaleId int64 `json:"sale_id" gorm:"sale_id"` // 销售ID + GroupId int64 `json:"group_id" gorm:"group_id"` // 分组ID +} + type WebAddressInfo struct { Id int64 `json:"id" gorm:"id"` District string `json:"district" gorm:"district"` // 地区 diff --git a/services/order/internal/logic/updateAddressSaleInfoLogic.go b/services/order/internal/logic/updateAddressSaleInfoLogic.go new file mode 100644 index 0000000..217fc79 --- /dev/null +++ b/services/order/internal/logic/updateAddressSaleInfoLogic.go @@ -0,0 +1,49 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/services/order/internal/dao" + "lone-services/services/order/internal/model" + "strconv" + + "lone-services/rpc/order/pb" + "lone-services/services/order/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type UpdateAddressSaleInfoLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUpdateAddressSaleInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateAddressSaleInfoLogic { + return &UpdateAddressSaleInfoLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UpdateAddressSaleInfoLogic) UpdateAddressSaleInfo(in *order.UpdateAddressSaleInfoRequest) (*order.UpdateAddressSaleInfoResponse, error) { + data := dao.AddressSaleInfo{ + GroupId: in.GroupId, + SaleId: in.SaleId, + } + + w := modelbase.Params{Eq: map[string]string{ + "target_id": strconv.FormatInt(in.Id, utils.NumberTen), + "type": strconv.Itoa(dao.AddressTypeStore), + }} + + row, err := model.AddressModel{}.Init().Edit(w, &data) + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + return &order.UpdateAddressSaleInfoResponse{Num: int32(row)}, nil +} diff --git a/services/order/internal/server/orderServer.go b/services/order/internal/server/orderServer.go index 80addda..0d52118 100644 --- a/services/order/internal/server/orderServer.go +++ b/services/order/internal/server/orderServer.go @@ -113,16 +113,23 @@ func (s *OrderServer) OrderInfo(ctx context.Context, in *order.IdRequest) (*orde return l.OrderInfo(in) } +func (s *OrderServer) UpdateAddressSaleInfo(ctx context.Context, in *order.UpdateAddressSaleInfoRequest) (*order.UpdateAddressSaleInfoResponse, error) { + l := logic.NewUpdateAddressSaleInfoLogic(ctx, s.svcCtx) + return l.UpdateAddressSaleInfo(in) +} + func (s *OrderServer) UpdateOrderDeliverStatus(ctx context.Context, in *order.UpdateOrderDeliverStatusRequest) (*order.UpdateOrderDeliverStatusResponse, error) { l := logic.NewUpdateOrderDeliverStatusLogic(ctx, s.svcCtx) return l.UpdateOrderDeliverStatus(in) } +// type 1为销售 2为门店 3为个人 func (s *OrderServer) GetOrderInfo(ctx context.Context, in *order.GetOrderInfoRequest) (*order.OrderInfoResponse, error) { l := logic.NewGetOrderInfoLogic(ctx, s.svcCtx) return l.GetOrderInfo(in) } +// status 1 为已支付 4 支付失败,其它的返回错误 func (s *OrderServer) UpdateOrderPayStatus(ctx context.Context, in *order.UpdateOrderPayStatusRequest) (*order.UpdateOrderPayStatusResponse, error) { l := logic.NewUpdateOrderPayStatusLogic(ctx, s.svcCtx) return l.UpdateOrderPayStatus(in) diff --git a/services/order/orderClient/order.go b/services/order/orderClient/order.go index a51980e..3eb018b 100644 --- a/services/order/orderClient/order.go +++ b/services/order/orderClient/order.go @@ -34,6 +34,8 @@ type ( ProductItemsResponse = order.ProductItemsResponse Response = order.Response TypeRequest = order.TypeRequest + UpdateAddressSaleInfoRequest = order.UpdateAddressSaleInfoRequest + UpdateAddressSaleInfoResponse = order.UpdateAddressSaleInfoResponse UpdateOrderDeliverStatusRequest = order.UpdateOrderDeliverStatusRequest UpdateOrderDeliverStatusResponse = order.UpdateOrderDeliverStatusResponse UpdateOrderPayStatusRequest = order.UpdateOrderPayStatusRequest @@ -58,8 +60,11 @@ type ( OrderCreate(ctx context.Context, in *AdminCreateOrderRequest, opts ...grpc.CallOption) (*Response, error) OrderDown(ctx context.Context, in *OrderItemsRequest, opts ...grpc.CallOption) (*ExcelExportResponse, error) OrderInfo(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) + UpdateAddressSaleInfo(ctx context.Context, in *UpdateAddressSaleInfoRequest, opts ...grpc.CallOption) (*UpdateAddressSaleInfoResponse, error) UpdateOrderDeliverStatus(ctx context.Context, in *UpdateOrderDeliverStatusRequest, opts ...grpc.CallOption) (*UpdateOrderDeliverStatusResponse, error) + // type 1为销售 2为门店 3为个人 GetOrderInfo(ctx context.Context, in *GetOrderInfoRequest, opts ...grpc.CallOption) (*OrderInfoResponse, error) + // status 1 为已支付 4 支付失败,其它的返回错误 UpdateOrderPayStatus(ctx context.Context, in *UpdateOrderPayStatusRequest, opts ...grpc.CallOption) (*UpdateOrderPayStatusResponse, error) } @@ -164,16 +169,23 @@ func (m *defaultOrder) OrderInfo(ctx context.Context, in *IdRequest, opts ...grp return client.OrderInfo(ctx, in, opts...) } +func (m *defaultOrder) UpdateAddressSaleInfo(ctx context.Context, in *UpdateAddressSaleInfoRequest, opts ...grpc.CallOption) (*UpdateAddressSaleInfoResponse, error) { + client := order.NewOrderClient(m.cli.Conn()) + return client.UpdateAddressSaleInfo(ctx, in, opts...) +} + func (m *defaultOrder) UpdateOrderDeliverStatus(ctx context.Context, in *UpdateOrderDeliverStatusRequest, opts ...grpc.CallOption) (*UpdateOrderDeliverStatusResponse, error) { client := order.NewOrderClient(m.cli.Conn()) return client.UpdateOrderDeliverStatus(ctx, in, opts...) } +// type 1为销售 2为门店 3为个人 func (m *defaultOrder) GetOrderInfo(ctx context.Context, in *GetOrderInfoRequest, opts ...grpc.CallOption) (*OrderInfoResponse, error) { client := order.NewOrderClient(m.cli.Conn()) return client.GetOrderInfo(ctx, in, opts...) } +// status 1 为已支付 4 支付失败,其它的返回错误 func (m *defaultOrder) UpdateOrderPayStatus(ctx context.Context, in *UpdateOrderPayStatusRequest, opts ...grpc.CallOption) (*UpdateOrderPayStatusResponse, error) { client := order.NewOrderClient(m.cli.Conn()) return client.UpdateOrderPayStatus(ctx, in, opts...) diff --git a/services/sale/run.toml b/services/sale/run.toml new file mode 100644 index 0000000..26ee240 --- /dev/null +++ b/services/sale/run.toml @@ -0,0 +1,57 @@ +[base] + login_out_time=43200 #api接口超时时间分 + login_refresh_out_time=83200 + name = "sale-service" + listenOn = "0.0.0.0:10700" + mode = "dev" +[log] + path = "logs" + serviceName = "sale-service" + mode = "file" + encoding = "plain" + level = "info" + keepDays = 7 + maxSize = 50 + maxBackups = 5 + compress = false + +[oss] + accessKeyId = "LTAI5t7U8KvxSiPE5auwQUuu" + accessKeySecret = "xjfgbQQRpL4TcIspNuClg6bYADa3pk" + roleArn = "acs:ram::1663896742753915:role/oss-upload" + roleSessionName = "oss-upload" + region = "oss-cn-hangzhou" + bucketName = "lone-images" + endpoint = "https://oss-accelerate.aliyuncs.com" + host = "https://images.ailuowan.com" + dir = "upload/" + expireSeconds = 3600 + +[mysql] + host = '39.106.171.204' + port = 33066 + user = 'root' + password = 'MOLXRZNOU4Y4' + database = 'dms-sale' + charset = 'utf8mb4' + prefix = '' + debug = true +[mysql_read] + host = '39.106.171.204' + port = 33066 + user = 'root' + password = 'MOLXRZNOU4Y4' + database = 'dms-sale' + charset = 'utf8mb4' + prefix = '' + +[redis] + host = '39.106.171.204' + password = 'lLMLcuPpzSj' + port = 6379 + db = 0 + +[encrypt] + data_key = "u2t9T3luZtoRfhBstkFN6TiIMW38BA8a" +[services] + chore = "chore-service" \ No newline at end of file diff --git a/services/store/.gitignore b/services/store/.gitignore new file mode 100644 index 0000000..3d0e76a --- /dev/null +++ b/services/store/.gitignore @@ -0,0 +1,3 @@ +run.toml +etc/store.yaml +tmp \ No newline at end of file diff --git a/services/store/Dockerfile b/services/store/Dockerfile new file mode 100644 index 0000000..aa06fd7 --- /dev/null +++ b/services/store/Dockerfile @@ -0,0 +1,37 @@ +FROM golang:1.26.5-alpine AS builder + +WORKDIR /src + +ENV GOPROXY=https://goproxy.cn,direct \ + CGO_ENABLED=0 \ + GOOS=linux \ + GOARCH=amd64 + +COPY pkg ./pkg +COPY go.mod go.sum ./ + +RUN --mount=type=cache,target=/go/pkg/mod \ + go mod download + +COPY rpc/ ./rpc +COPY services/store/ ./services/store/ + +WORKDIR /src/services/store + +RUN --mount=type=cache,target=/go/pkg/mod \ + --mount=type=cache,target=/root/.cache/go-build \ + go build -ldflags="-s -w" -o /out/main ./ + +FROM alpine:3.22 + +WORKDIR /app + +ENV TZ=Asia/Shanghai + +RUN apk add --no-cache tzdata \ + && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ + && echo "Asia/Shanghai" > /etc/timezone + +COPY --from=builder /out/main . + +CMD ["./main", "-f", "etc/store.yaml"] diff --git a/services/store/internal/config/config.go b/services/store/internal/config/config.go new file mode 100644 index 0000000..a1979dd --- /dev/null +++ b/services/store/internal/config/config.go @@ -0,0 +1,13 @@ +package config + +type Config struct { + Nacos NacosConf +} + +type NacosConf struct { + Hosts []string + NamespaceId string `json:",optional"` + Group string `json:",optional"` + RegisterIP string `json:",optional"` + ConfigID string `json:",optional"` +} diff --git a/services/store/internal/dao/deposit.go b/services/store/internal/dao/deposit.go new file mode 100644 index 0000000..49b6cb7 --- /dev/null +++ b/services/store/internal/dao/deposit.go @@ -0,0 +1,61 @@ +package dao + +import "lone-services/pkg/utils" + +type DepositCreate struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + StoreId int64 `gorm:"column:store_id;type:int(11);comment:门店ID;NOT NULL" json:"store_id"` + Bill string `gorm:"column:bill;type:varchar(255);comment:票据,一张照片" json:"bill"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:金额" json:"amount"` + Status int32 `gorm:"column:status;type:tinyint(1);comment:状态,1为完成,9为充值中,2为忽略,4已到帐" json:"status"` +} + +type DepositInfo struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + StoreId int64 `gorm:"column:store_id;type:int(11);comment:门店ID;NOT NULL" json:"store_id"` + Bill string `gorm:"column:bill;type:varchar(255);comment:票据,一张照片" json:"bill"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:金额" json:"amount"` + AffirmAmount float64 `gorm:"column:affirm_amount;type:decimal(10,2);comment:确认的金额" json:"affirm_amount"` + Status int32 `gorm:"column:status;type:tinyint(1);comment:状态,1为完成,9为充值中,2为忽略,4已到帐" json:"status"` + Reason string `gorm:"column:reason;type:varchar(255);comment:忽略原因" json:"reason"` + AccountantId int64 `gorm:"column:accountant_id;type:int(11)" json:"accountant_id"` + AccountantName string `gorm:"column:accountant_name;type:varchar(255)" json:"accountant_name"` + AdminName string `gorm:"column:admin_name;type:varchar(50);comment:操作人姓名" json:"admin_name"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + UpdateTime utils.CustomTime `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` + CreateTime utils.CustomTime `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP;comment:添加时间" json:"create_time"` + StoreName string `gorm:"-" json:"store_name"` +} + +type DepositWebInfo struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Bill string `gorm:"column:bill;type:varchar(255);comment:票据,一张照片" json:"bill"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:金额" json:"amount"` + AffirmAmount float64 `gorm:"column:affirm_amount;type:decimal(10,2);comment:确认的金额" json:"affirm_amount"` + Reason string `gorm:"column:reason;type:varchar(255);comment:忽略原因" json:"reason"` + Status int32 `gorm:"column:status;type:tinyint(1);comment:状态,1为完成,9为充值中,2为忽略,4已到帐" json:"status"` + UpdateTime utils.CustomTime `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` + CreateTime utils.CustomTime `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP;comment:添加时间" json:"create_time"` +} + +type DepositStatus struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + StoreId int64 `gorm:"column:store_id;type:int(11);comment:门店ID;NOT NULL" json:"store_id"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:9是待处理 1是已通过 2是未通过,3为禁用;NOT NULL" json:"status"` + Reason string `gorm:"column:reason;type:varchar(255);comment:忽略原因" json:"reason"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:金额" json:"amount"` + AffirmAmount float64 `gorm:"column:affirm_amount;type:decimal(10,2);comment:确认的金额" json:"affirm_amount"` + AccountantId int64 `gorm:"column:accountant_id;type:int(11)" json:"accountant_id"` + AccountantName string `gorm:"column:accountant_name;type:varchar(255)" json:"accountant_name"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type DepositDown struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + StoreId int64 `gorm:"column:store_id;type:int(11);comment:门店ID;NOT NULL" json:"store_id"` + Bill string `gorm:"column:bill;type:varchar(255);comment:票据,一张照片" json:"bill"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:金额" json:"amount"` + CreateTime utils.CustomTime `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP;comment:添加时间" json:"create_time"` + StoreName string `gorm:"-" json:"store_name"` +} diff --git a/services/store/internal/dao/salesPersonHistory.go b/services/store/internal/dao/salesPersonHistory.go new file mode 100644 index 0000000..c72fb07 --- /dev/null +++ b/services/store/internal/dao/salesPersonHistory.go @@ -0,0 +1,18 @@ +package dao + +import "lone-services/pkg/utils" + +type SalesPersonHistoryCreate struct { + Id int64 `json:"id" gorm:"id"` + StoreId int64 `json:"store_id" gorm:"store_id"` // 门店ID + SalesPersonId int64 `json:"sales_person_id" gorm:"sales_person_id"` // 关联销售员的id + AdminId int64 `json:"admin_id" gorm:"admin_id"` // 修改人,0 为系统 +} + +type SalesPersonHistoryInfo struct { + Id int64 `json:"id" gorm:"id"` + StoreId int64 `json:"store_id" gorm:"store_id"` // 门店ID + SalesPersonId int64 `json:"sales_person_id" gorm:"sales_person_id"` // 关联销售员的id + AdminId int64 `json:"admin_id" gorm:"admin_id"` // 修改人,0 为系统 + CreateTime utils.CustomTime `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP;comment:添加时间" json:"create_time"` +} diff --git a/services/store/internal/dao/store.go b/services/store/internal/dao/store.go new file mode 100644 index 0000000..d88f117 --- /dev/null +++ b/services/store/internal/dao/store.go @@ -0,0 +1,242 @@ +package dao + +import "lone-services/pkg/utils" + +type StoreCreate struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + BusinessLicense string `gorm:"column:business_license;type:varchar(512);comment:营业执照;NOT NULL" json:"business_license"` + IdCard string `gorm:"column:id_card;type:varchar(255);comment:身份证正反面" json:"id_card"` + Area string `gorm:"column:area;type:varchar(255);comment:面积" json:"area"` + Receipt string `gorm:"column:receipt;type:varchar(512);comment:发票信息" json:"receipt"` + Type int32 `gorm:"column:type;type:tinyint(1);comment:类型,1为生美、2双美、3医美" json:"type"` + District string `gorm:"column:district;type:varchar(255);comment:地区(省,市,县)ID" json:"district"` + Address string `gorm:"column:address;type:varchar(512);comment:地址" json:"address"` + BankInfo string `gorm:"column:bank_info;type:varchar(255);comment:银行卡信息" json:"bank_info"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:状态9是待审核 1是已通过 2是未通过,3为禁用" json:"status"` + SaleId int64 `gorm:"column:sale_id;type:varchar(256);comment:关联销售员的id" json:"sale_id"` + GroupId int64 `gorm:"column:group_id;type:int(11);default:0;comment:分组ID" json:"group_id"` + SourceType int32 `gorm:"column:source_type;type:tinyint(1);default:1;comment:来源类型,1为公司添加,2为销售添加" json:"source_type"` + Images string `gorm:"column:images;type:varchar(255);comment:门店门头照片" json:"images"` + StoreImages string `gorm:"column:store_images;type:text;comment:店内照片" json:"store_images"` + Contact string `gorm:"column:contact;type:varchar(255);comment:联系方式,多个,号分割" json:"contact"` + Content string `gorm:"column:content;type:text" json:"content"` + OpenTime string `gorm:"column:open_time;type:varchar(100);comment:营业时间" json:"open_time"` + Province int64 `gorm:"column:province;type:int(11);default:0" json:"province"` + ProvinceName string `gorm:"column:province_name;type:varchar(255)" json:"province_name"` + StoreType int64 `json:"store_type" gorm:"store_type"` // 门店类型,1为面膜,2为门店,3为制氧机,4为软水机,5智能化妆盒 + City int64 `json:"city" gorm:"city"` + CityName string `json:"city_name" gorm:"city_name"` + County int64 `json:"county" gorm:"county"` + CountyName string `json:"county_name" gorm:"county_name"` + LongitudeWgs84 string `gorm:"column:longitude_wgs84;type:varchar(50);comment:坐标经度-国际" json:"longitude_wgs84"` + LatitudeWgs84 string `gorm:"column:latitude_wgs84;type:varchar(50);comment:坐标纬度-国际" json:"latitude_wgs84"` + LongitudeGcj02 string `gorm:"column:longitude_gcj02;type:varchar(50);comment:坐标经度-国密" json:"longitude_gcj02"` + LatitudeGcj02 string `gorm:"column:latitude_gcj02;type:varchar(50);comment:坐标纬度-国密" json:"latitude_gcj02"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreInfo struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + BusinessLicense string `gorm:"column:business_license;type:varchar(512);comment:营业执照;NOT NULL" json:"business_license"` + StoreType int64 `json:"store_type" gorm:"store_type"` // 门店类型,1为面膜,2为门店,3为制氧机,4为软水机,5智能化妆盒 + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:余额" json:"amount"` + District string `gorm:"column:district;type:varchar(255);comment:地区(省,市,县)ID" json:"district"` + IdCard string `gorm:"column:id_card;type:varchar(255);comment:身份证正反面" json:"id_card"` + Area string `gorm:"column:area;type:varchar(255);comment:面积" json:"area"` + Receipt string `gorm:"column:receipt;type:varchar(512);comment:发票信息" json:"receipt"` + BankInfo string `gorm:"column:bank_info;type:varchar(255);comment:银行卡信息" json:"bank_info"` + Type int32 `gorm:"column:type;type:tinyint(1);comment:类型,1为生美、2双美、3医美" json:"type"` + Account string `gorm:"column:account;type:varchar(255);comment:账户信息" json:"account"` + StoreImages string `gorm:"column:store_images;type:text;comment:店内照片" json:"store_images"` + Address string `gorm:"column:address;type:varchar(512);comment:地址" json:"address"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:状态9是待审核 1是已通过 2是未通过,3为禁用" json:"status"` + SaleId int64 `gorm:"column:sale_id;type:varchar(256);comment:关联销售员的id" json:"sale_id"` + GroupId int64 `gorm:"column:group_id;type:int(11);default:0;comment:分组ID" json:"group_id"` + SourceType int32 `gorm:"column:source_type;type:tinyint(1);default:1;comment:来源类型,1为公司添加,2为销售添加" json:"source_type"` + Images string `gorm:"column:images;type:varchar(255);comment:门店门头照片" json:"images"` + Province int64 `gorm:"column:province;type:int(11);default:0" json:"province"` + ProvinceName string `gorm:"column:province_name;type:varchar(255)" json:"province_name"` + City int64 `json:"city" gorm:"city"` + CityName string `json:"city_name" gorm:"city_name"` + County int64 `json:"county" gorm:"county"` + Contact string `gorm:"column:contact;type:varchar(255);comment:联系方式,多个,号分割" json:"contact"` + Content string `gorm:"column:content;type:text" json:"content"` + OpenTime string `gorm:"column:open_time;type:varchar(100);comment:营业时间" json:"open_time"` + LongitudeWgs84 string `gorm:"column:longitude_wgs84;type:varchar(50);comment:坐标经度-国际" json:"longitude_wgs84"` + LatitudeWgs84 string `gorm:"column:latitude_wgs84;type:varchar(50);comment:坐标纬度-国际" json:"latitude_wgs84"` + LongitudeGcj02 string `gorm:"column:longitude_gcj02;type:varchar(50);comment:坐标经度-国密" json:"longitude_gcj02"` + LatitudeGcj02 string `gorm:"column:latitude_gcj02;type:varchar(50);comment:坐标纬度-国密" json:"latitude_gcj02"` + BuyAmount float64 `gorm:"column:buy_amount;type:decimal(10,2);default:0.00;comment:购买的支付金额" json:"buy_amount"` + NewContent string `gorm:"column:new_content;type:text;comment:修改的内容" json:"new_content"` + ResidualNumber int32 `gorm:"column:residual_number;type:smallint(4);default:0;comment:剩余的试用数据" json:"residual_number"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` + Reason string `gorm:"column:reason;type:varchar(255);comment:理由" json:"reason"` + UpdateTime utils.CustomTime `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` + CreateTime utils.CustomTime `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP;comment:添加时间" json:"create_time"` + AesMobile string `json:"aes_mobile"` + DistrictNames string `gorm:"-" json:"district_names"` + SaleName string `gorm:"-" json:"sale_name"` + Edit int32 `gorm:"-" json:"edit"` +} + +type StoreWebInfo struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + BusinessLicense string `gorm:"column:business_license;type:varchar(512);comment:营业执照;NOT NULL" json:"business_license"` + District string `gorm:"column:district;type:varchar(255);comment:地区(省,市,县)ID" json:"district"` + Address string `gorm:"column:address;type:varchar(512);comment:地址" json:"address"` + StoreType int64 `json:"store_type" gorm:"store_type"` // 门店类型,1为面膜,2为门店,3为制氧机,4为软水机,5智能化妆盒 + BankInfo string `gorm:"column:bank_info;type:varchar(255);comment:银行卡信息" json:"bank_info"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:状态9是待审核 1是已通过 2是未通过,3为禁用" json:"status"` + SourceType int32 `gorm:"column:source_type;type:tinyint(1);default:1;comment:来源类型,1为公司添加,2为销售添加" json:"source_type"` + IdCard string `gorm:"column:id_card;type:varchar(255);comment:身份证正反面" json:"id_card"` + Area string `gorm:"column:area;type:varchar(255);comment:面积" json:"area"` + Receipt string `gorm:"column:receipt;type:varchar(512);comment:发票信息" json:"receipt"` + Type int32 `gorm:"column:type;type:tinyint(1);comment:类型,1为生美、2双美、3医美" json:"type"` + BuyAmount float64 `gorm:"column:buy_amount;type:decimal(10,2);default:0.00;comment:购买的支付金额" json:"buy_amount"` + ResidualNumber int32 `gorm:"column:residual_number;type:smallint(4);default:0;comment:剩余的试用数据" json:"residual_number"` + StoreImages string `gorm:"column:store_images;type:text;comment:店内照片" json:"store_images"` + Images string `gorm:"column:images;type:varchar(255);comment:门店门头照片" json:"images"` + Contact string `gorm:"column:contact;type:varchar(255);comment:联系方式,多个,号分割" json:"contact"` + Content string `gorm:"column:content;type:text" json:"content"` + OpenTime string `gorm:"column:open_time;type:varchar(100);comment:营业时间" json:"open_time"` + LongitudeWgs84 string `gorm:"column:longitude_wgs84;type:varchar(50);comment:坐标经度-国际" json:"longitude_wgs84"` + LatitudeWgs84 string `gorm:"column:latitude_wgs84;type:varchar(50);comment:坐标纬度-国际" json:"latitude_wgs84"` + LongitudeGcj02 string `gorm:"column:longitude_gcj02;type:varchar(50);comment:坐标经度-国密" json:"longitude_gcj02"` + LatitudeGcj02 string `gorm:"column:latitude_gcj02;type:varchar(50);comment:坐标纬度-国密" json:"latitude_gcj02"` + Reason string `gorm:"column:reason;type:varchar(255);comment:理由" json:"reason"` + DistrictNames string `gorm:"-" json:"district_names"` +} + +type StoreVerifyEdit struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + BusinessLicense string `gorm:"column:business_license;type:varchar(512);comment:营业执照;NOT NULL" json:"business_license"` + IdCard string `gorm:"column:id_card;type:varchar(255);comment:身份证正反面" json:"id_card"` + Area string `gorm:"column:area;type:varchar(255);comment:面积" json:"area"` + Receipt string `gorm:"column:receipt;type:varchar(512);comment:发票信息" json:"receipt"` + BankInfo string `gorm:"column:bank_info;type:varchar(255);comment:银行卡信息" json:"bank_info"` + Type int32 `gorm:"column:type;type:tinyint(1);comment:类型,1为生美、2双美、3医美" json:"type"` + District string `gorm:"column:district;type:varchar(255);comment:地区(省,市,县)ID" json:"district"` + Address string `gorm:"column:address;type:varchar(512);comment:地址" json:"address"` + StoreType int64 `json:"store_type" gorm:"store_type"` // 门店类型,1为面膜,2为门店,3为制氧机,4为软水机,5智能化妆盒 + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:状态9是待审核 1是已通过 2是未通过,3为禁用" json:"status"` + SaleId int64 `gorm:"column:sale_id;type:varchar(256);comment:关联销售员的id" json:"sale_id"` + SourceType int32 `gorm:"column:source_type;type:tinyint(1);default:1;comment:来源类型,1为公司添加,2为销售添加" json:"source_type"` + Images string `gorm:"column:images;type:varchar(255);comment:门店门头照片" json:"images"` + StoreImages string `gorm:"column:store_images;type:text;comment:店内照片" json:"store_images"` + Contact string `gorm:"column:contact;type:varchar(255);comment:联系方式,多个,号分割" json:"contact"` + Content string `gorm:"column:content;type:text" json:"content"` + OpenTime string `gorm:"column:open_time;type:varchar(100);comment:营业时间" json:"open_time"` + LongitudeWgs84 string `gorm:"column:longitude_wgs84;type:varchar(50);comment:坐标经度-国际" json:"longitude_wgs84"` + LatitudeWgs84 string `gorm:"column:latitude_wgs84;type:varchar(50);comment:坐标纬度-国际" json:"latitude_wgs84"` + LongitudeGcj02 string `gorm:"column:longitude_gcj02;type:varchar(50);comment:坐标经度-国密" json:"longitude_gcj02"` + LatitudeGcj02 string `gorm:"column:latitude_gcj02;type:varchar(50);comment:坐标纬度-国密" json:"latitude_gcj02"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreStatus struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:姓名或公司名;NOT NULL" json:"name"` + SaleId int64 `gorm:"column:sale_id;type:int(11);default:0;comment:父级销售;NOT NULL" json:"sale_id"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + NewContent string `gorm:"column:new_content;type:text;comment:修改的内容" json:"new_content"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:9是待处理 1是已通过 2是未通过,3为禁用;NOT NULL" json:"status"` + Reason string `gorm:"column:reason;type:varchar(255);comment:理由" json:"reason"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreNames struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` +} + +type StoreToSale struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + SaleId int64 `gorm:"column:sale_id;type:varchar(256);comment:关联销售员的id" json:"sale_id"` + GroupId int64 `gorm:"column:group_id;type:int(11);default:0;comment:分组ID" json:"group_id"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreContent struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Content string `gorm:"column:content;type:text" json:"content"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreWebPassword struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + PayPassword string `gorm:"column:pay_password;type:varchar(255);comment:支付密码" json:"pay_password"` +} + +type StoreWebDeposit struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:余额" json:"amount"` +} + +type StoreDeposit struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + BuyAmount float64 `gorm:"column:buy_amount;type:decimal(10,2);default:0.00;comment:购买的支付金额" json:"buy_amount"` + ResidualNumber int32 `gorm:"column:residual_number;type:smallint(4);default:0;comment:剩余的试用数据" json:"residual_number"` + PayPassword string `gorm:"column:pay_password;type:varchar(255);comment:支付密码" json:"pay_password"` + Amount float64 `gorm:"column:amount;type:decimal(10,2);default:0.00;comment:余额" json:"amount"` +} + +type StoreNewContent struct { + NewContent string `gorm:"column:new_content;type:text;comment:修改的内容" json:"new_content"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:9是待处理 1是已通过 2是未通过,3为禁用;NOT NULL" json:"status"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} + +type StoreNewCreate struct { + Id int64 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` + Name string `gorm:"column:name;type:varchar(256);comment:门店名;NOT NULL" json:"name"` + UserName string `gorm:"column:user_name;type:varchar(128);comment:负责人姓名;NOT NULL" json:"user_name"` + UserMobile string `gorm:"column:user_mobile;type:varchar(128);comment:负责人手机号,也是登录账号;NOT NULL" json:"user_mobile"` + BusinessLicense string `gorm:"column:business_license;type:varchar(512);comment:营业执照;NOT NULL" json:"business_license"` + IdCard string `gorm:"column:id_card;type:varchar(255);comment:身份证正反面" json:"id_card"` + Area string `gorm:"column:area;type:varchar(255);comment:面积" json:"area"` + Receipt string `gorm:"column:receipt;type:varchar(512);comment:发票信息" json:"receipt"` + Type int32 `gorm:"column:type;type:tinyint(1);comment:类型,1为生美、2双美、3医美" json:"type"` + District string `gorm:"column:district;type:varchar(255);comment:地区(省,市,县)ID" json:"district"` + Address string `gorm:"column:address;type:varchar(512);comment:地址" json:"address"` + BankInfo string `gorm:"column:bank_info;type:varchar(255);comment:银行卡信息" json:"bank_info"` + Status int32 `gorm:"column:status;type:tinyint(1);default:9;comment:状态9是待审核 1是已通过 2是未通过,3为禁用" json:"status"` + GroupId int64 `gorm:"column:group_id;type:int(11);default:0;comment:分组ID" json:"group_id"` + SaleId int64 `gorm:"column:sale_id;type:varchar(256);comment:关联销售员的id" json:"sale_id"` + Province int64 `gorm:"column:province;type:int(11);default:0" json:"province"` + ProvinceName string `gorm:"column:province_name;type:varchar(255)" json:"province_name"` + SourceType int32 `gorm:"column:source_type;type:tinyint(1);default:1;comment:来源类型,1为公司添加,2为销售添加" json:"source_type"` + Images string `gorm:"column:images;type:varchar(255);comment:门店门头照片" json:"images"` + StoreImages string `gorm:"column:store_images;type:text;comment:店内照片" json:"store_images"` + Contact string `gorm:"column:contact;type:varchar(255);comment:联系方式,多个,号分割" json:"contact"` + StoreType int64 `json:"store_type" gorm:"store_type"` // 门店类型,1为面膜,2为门店,3为制氧机,4为软水机,5智能化妆盒 + Content string `gorm:"column:content;type:text" json:"content"` + NewContent string `gorm:"column:new_content;type:text;comment:修改的内容" json:"new_content"` + OpenTime string `gorm:"column:open_time;type:varchar(100);comment:营业时间" json:"open_time"` + LongitudeWgs84 string `gorm:"column:longitude_wgs84;type:varchar(50);comment:坐标经度-国际" json:"longitude_wgs84"` + LatitudeWgs84 string `gorm:"column:latitude_wgs84;type:varchar(50);comment:坐标纬度-国际" json:"latitude_wgs84"` + LongitudeGcj02 string `gorm:"column:longitude_gcj02;type:varchar(50);comment:坐标经度-国密" json:"longitude_gcj02"` + LatitudeGcj02 string `gorm:"column:latitude_gcj02;type:varchar(50);comment:坐标纬度-国密" json:"latitude_gcj02"` + AdminId int64 `gorm:"column:admin_id;type:int(11);default:0;comment:操作人ID" json:"admin_id"` + AdminName string `gorm:"column:admin_name;type:varchar(255)" json:"admin_name"` +} diff --git a/services/store/internal/logic/applyEditLogic.go b/services/store/internal/logic/applyEditLogic.go new file mode 100644 index 0000000..606e6d7 --- /dev/null +++ b/services/store/internal/logic/applyEditLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ApplyEditLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewApplyEditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ApplyEditLogic { + return &ApplyEditLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ApplyEditLogic) ApplyEdit(in *store.ApplyEditRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/applyVerifyLogic.go b/services/store/internal/logic/applyVerifyLogic.go new file mode 100644 index 0000000..655e93f --- /dev/null +++ b/services/store/internal/logic/applyVerifyLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ApplyVerifyLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewApplyVerifyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ApplyVerifyLogic { + return &ApplyVerifyLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ApplyVerifyLogic) ApplyVerify(in *store.ItemsRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/applyVerifyStatusLogic.go b/services/store/internal/logic/applyVerifyStatusLogic.go new file mode 100644 index 0000000..2210f3f --- /dev/null +++ b/services/store/internal/logic/applyVerifyStatusLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ApplyVerifyStatusLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewApplyVerifyStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ApplyVerifyStatusLogic { + return &ApplyVerifyStatusLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ApplyVerifyStatusLogic) ApplyVerifyStatus(in *store.StatusRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/base.go b/services/store/internal/logic/base.go new file mode 100644 index 0000000..9bc96a5 --- /dev/null +++ b/services/store/internal/logic/base.go @@ -0,0 +1,48 @@ +package logic + +import ( + "lone-services/pkg/utils" + "lone-services/pkg/validate" + store "lone-services/rpc/store/pb" + "reflect" + + jsoniter "github.com/json-iterator/go" +) + +type BaseLogic struct { +} + +func (l *BaseLogic) checkParams(in interface{}, v validate.IValidator) *store.Response { + rv := reflect.ValueOf(in) + if rv.Kind() != reflect.Ptr || rv.IsNil() { + return &store.Response{ + Code: utils.ErrorParams.Code, + Msg: "request must be non‑nil proto pointer", + } + } + + resp := validate.ValidateFromProto(in, v) + if resp != utils.StringEmpty { + return &store.Response{ + Code: utils.ErrorParams.Code, + Msg: resp, + } + } + return nil +} + +func (l *BaseLogic) fail(status utils.Status) (*store.Response, error) { + return l.out(status, status.Msg) +} +func (l *BaseLogic) out(status utils.Status, msg string) (*store.Response, error) { + return &store.Response{Code: status.Code, Msg: msg}, nil +} + +func (l *BaseLogic) outData(status utils.Status, msg, data string) (*store.Response, error) { + return &store.Response{Code: status.Code, Msg: msg, Data: data}, nil +} + +func (l *BaseLogic) ok(data any) (*store.Response, error) { + buf, _ := jsoniter.Marshal(data) + return &store.Response{Code: utils.Ok.Code, Msg: utils.Ok.Msg, Data: string(buf)}, nil +} diff --git a/services/store/internal/logic/contentLogic.go b/services/store/internal/logic/contentLogic.go new file mode 100644 index 0000000..f0f8f44 --- /dev/null +++ b/services/store/internal/logic/contentLogic.go @@ -0,0 +1,70 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "lone-services/services/store/validator" + "strconv" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ContentLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ContentLogic { + return &ContentLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ContentLogic) Content(in *store.ContentRequest) (*store.Response, error) { + var v validator.StoreContentValidator + if fail := l.checkParams(in, &v); fail != nil { + return fail, nil + } + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + var action = utils.ActionAdd{} + var info dao.StoreContent + w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} + modelObj := model.StoreModel{}.Init() + err := modelObj.GetOne(w, &info) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.Fail) + } + if info.Id < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + action.OldContent = info + info.Content = v.Content + info.AdminName = adminInfo.Name + info.AdminId = adminInfo.ID + row, editErr := modelObj.Edit(w, info) + if editErr != nil { + l.Logger.Error(editErr) + return l.fail(utils.Fail) + } + if row > utils.NumberZero { + action.NewContent = info + action.Type = utils.LogActionTypeEdit + action.ModuleName = utils.LogActionModuleStore + utils.SetActionLog(adminInfo, action) + } + return l.ok(utils.NumberOne) +} diff --git a/services/store/internal/logic/createLogic.go b/services/store/internal/logic/createLogic.go new file mode 100644 index 0000000..54f3193 --- /dev/null +++ b/services/store/internal/logic/createLogic.go @@ -0,0 +1,129 @@ +package logic + +import ( + "context" + "lone-services/pkg/utils" + sale "lone-services/rpc/sale/pb" + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewCreateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateLogic { + return &CreateLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateLogic) Create(in *store.CreateRequest) (*store.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + + //TODO 调用用户接口-判断是否可以注册 + + encryptMobile, cErr := utils.EncryptPhone(in.UserMobile) + if cErr != nil { + return l.fail(utils.ErrorEncryptAesError) + } + + encryptData, cErr := utils.Crypto{}.AESEncryptECB(in.BusinessLicense) + if cErr != nil { + return l.fail(utils.ErrorEncryptAesError) + } + + encryptIdCard, cErr := utils.Crypto{}.AESEncryptECB(in.IdCard) + if cErr != nil { + return l.fail(utils.ErrorEncryptAesError) + } + + data := dao.StoreCreate{ + Name: in.Name, + UserName: in.UserName, + UserMobile: encryptMobile, + BusinessLicense: encryptData, + District: in.DistrictIds, + Address: in.Address, + Status: utils.StatusOk, + SaleId: in.SaleId, + SourceType: model.StoreTypeAdmin, + Images: in.Images, + Contact: in.Contact, + Content: in.Content, + BankInfo: in.BankInfo, + OpenTime: in.OpenTime, + LongitudeWgs84: in.LongitudeWgs84, + LatitudeWgs84: in.LatitudeWgs84, + LongitudeGcj02: in.LongitudeGcj02, + LatitudeGcj02: in.LatitudeGcj02, + AdminId: adminInfo.ID, + AdminName: adminInfo.Name, + StoreImages: in.StoreImages, + IdCard: encryptIdCard, + Area: in.Area, + Receipt: in.Receipt, + Type: in.Type, + Province: in.Province, + City: in.City, + County: in.County, + ProvinceName: in.ProvinceName, + CityName: in.CityName, + CountyName: in.CountyName, + } + groupId, sErr := l.getSaleInfo(in.SaleId) + if sErr != utils.Ok { + return l.fail(sErr) + } + if groupId < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + + data.GroupId = groupId + + //TODO 调用用户更新接口-更新手机号 + //err = models.StoreModel{}.Init().Create(&data) + //if err != nil { + // l.Logger.Error(err) + // return l.fail(utils.Fail) + //} + + //TODO 发送短信 + //result := utils.SendPwdSMS(in.UserMobile, in.Password) + //jsonStr, err := json.Marshal(result) + //SmsLogService{}.Add(c, in.UserMobile, "您的初始密码为:"+in.Password+",请尽快登录后修改!", string(jsonStr)) + //if result.Code != dao.NumberZero { + // return check.Id, utils.Fail + //} + + return l.ok(utils.NumberOne) +} + +func (l *CreateLogic) getSaleInfo(id int64) (int64, utils.Status) { + cli, err := svc.GetRpcClient(l.svcCtx.SaleName) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.NumberZero, utils.ErrorInternalServer + } + + client := sale.NewSaleClient(cli.Conn()) + w := sale.InfoReq{Id: id} + info, err := client.InfoInternal(context.Background(), &w) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.NumberZero, utils.ErrorInternalServer + } + return info.GroupId, utils.Ok +} diff --git a/services/store/internal/logic/depositBackfillLogic.go b/services/store/internal/logic/depositBackfillLogic.go new file mode 100644 index 0000000..4d5f75d --- /dev/null +++ b/services/store/internal/logic/depositBackfillLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositBackfillLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositBackfillLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositBackfillLogic { + return &DepositBackfillLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositBackfillLogic) DepositBackfill(in *store.DepositBackfillRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositDoneLogic.go b/services/store/internal/logic/depositDoneLogic.go new file mode 100644 index 0000000..635d419 --- /dev/null +++ b/services/store/internal/logic/depositDoneLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositDoneLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositDoneLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositDoneLogic { + return &DepositDoneLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositDoneLogic) DepositDone(in *store.IdRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositDownLogic.go b/services/store/internal/logic/depositDownLogic.go new file mode 100644 index 0000000..064d926 --- /dev/null +++ b/services/store/internal/logic/depositDownLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositDownLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositDownLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositDownLogic { + return &DepositDownLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositDownLogic) DepositDown(in *store.DepositItemsRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositIgnoreItemsLogic.go b/services/store/internal/logic/depositIgnoreItemsLogic.go new file mode 100644 index 0000000..beb2284 --- /dev/null +++ b/services/store/internal/logic/depositIgnoreItemsLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositIgnoreItemsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositIgnoreItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositIgnoreItemsLogic { + return &DepositIgnoreItemsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositIgnoreItemsLogic) DepositIgnoreItems(in *store.DepositVerifyRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositIgnoreLogic.go b/services/store/internal/logic/depositIgnoreLogic.go new file mode 100644 index 0000000..e4442ee --- /dev/null +++ b/services/store/internal/logic/depositIgnoreLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositIgnoreLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositIgnoreLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositIgnoreLogic { + return &DepositIgnoreLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositIgnoreLogic) DepositIgnore(in *store.DepositIgnoreRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositItemsLogic.go b/services/store/internal/logic/depositItemsLogic.go new file mode 100644 index 0000000..c6beeee --- /dev/null +++ b/services/store/internal/logic/depositItemsLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositItemsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositItemsLogic { + return &DepositItemsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositItemsLogic) DepositItems(in *store.DepositItemsRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositRecoverLogic.go b/services/store/internal/logic/depositRecoverLogic.go new file mode 100644 index 0000000..9c3baf2 --- /dev/null +++ b/services/store/internal/logic/depositRecoverLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositRecoverLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositRecoverLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositRecoverLogic { + return &DepositRecoverLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositRecoverLogic) DepositRecover(in *store.IdRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/depositVerifyLogic.go b/services/store/internal/logic/depositVerifyLogic.go new file mode 100644 index 0000000..a9e229c --- /dev/null +++ b/services/store/internal/logic/depositVerifyLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DepositVerifyLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewDepositVerifyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DepositVerifyLogic { + return &DepositVerifyLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DepositVerifyLogic) DepositVerify(in *store.DepositVerifyRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/editLogic.go b/services/store/internal/logic/editLogic.go new file mode 100644 index 0000000..18001ea --- /dev/null +++ b/services/store/internal/logic/editLogic.go @@ -0,0 +1,141 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "lone-services/services/store/internal/svc" + "strconv" + + "github.com/zeromicro/go-zero/core/logx" +) + +type EditLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewEditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *EditLogic { + return &EditLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *EditLogic) Edit(in *store.EditRequest) (*store.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + + var info dao.StoreCreate + w := modelbase.Params{Eq: map[string]string{"id": strconv.FormatInt(in.Id, utils.NumberTen)}} + modelObj := model.StoreModel{}.Init() + err := modelObj.GetOne(w, &info) + if err != nil || info.Id < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + + action := utils.ActionAdd{ + OldContent: info, + Type: utils.LogActionTypeEdit, + ModuleName: utils.LogActionModuleStore, + } + if info.Status != utils.StatusOk && + info.Status != utils.StatusNotPass && + info.Status != utils.StatusAdminSecondRefuse && + info.Status != utils.StatusForbidden { + return l.fail(utils.SetError(utils.Fail, "当前状态不允许修改")) + } + + oldMobile, cErr := utils.DecryptPhone(info.UserMobile) + if cErr == nil { + oldMobile = utils.DecryptPhoneReplace(oldMobile) + } + encryptMobile, cErr := utils.EncryptPhone(in.UserMobile) + if cErr != nil { + return l.fail(utils.SetError(utils.Fail, cErr.GetMsg())) + } + if oldMobile != in.UserMobile { + var check dao.StoreStatus + ww := modelbase.Params{Eq: map[string]string{"user_mobile": encryptMobile}} + err = modelObj.GetOne(ww, &check) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.Fail) + } + + if check.Id > utils.NumberZero && check.Id != info.Id { + return l.fail(utils.ErrorDataIsExist) + } + } + + //TODO 调用用户接口-判断是否可以修改 + //TODO 调用用户更新接口-更新手机号 + + if in.BusinessLicense != info.BusinessLicense { + encryptData, cErr := utils.Crypto{}.AESEncryptECB(in.BusinessLicense) + if cErr != nil { + return l.fail(utils.SetError(utils.Fail, cErr.GetMsg())) + } + info.BusinessLicense = encryptData + } + + if in.IdCard != info.IdCard { + encryptIdCard, cErr := utils.Crypto{}.AESEncryptECB(in.IdCard) + if cErr != nil { + return l.fail(utils.SetError(utils.Fail, cErr.GetMsg())) + } + info.IdCard = encryptIdCard + } + + info.SaleId = in.SaleId + info.UserName = in.UserName + info.Name = in.Name + info.District = in.DistrictIds + info.Address = in.Address + info.BankInfo = in.BankInfo + info.Images = in.Images + info.Content = in.Content + info.AdminId = adminInfo.ID + info.AdminName = adminInfo.Name + info.OpenTime = in.OpenTime + info.LongitudeWgs84 = in.LongitudeWgs84 + info.LatitudeWgs84 = in.LatitudeWgs84 + info.LongitudeGcj02 = in.LongitudeGcj02 + info.LatitudeGcj02 = in.LatitudeGcj02 + info.StoreImages = in.StoreImages + info.Area = in.Area + info.Receipt = in.Receipt + info.Type = in.Type + info.Province = in.Province + info.ProvinceName = in.ProvinceName + info.City = in.City + info.CityName = in.CityName + info.County = in.County + info.CountyName = in.CountyName + + if oldMobile != in.UserMobile && encryptMobile != info.UserMobile { + info.UserMobile = encryptMobile + } + w = modelbase.Params{Eq: map[string]string{"id": strconv.FormatInt(in.Id, utils.NumberTen)}} + edit := dao.StoreNewContent{ + NewContent: utils.StructToJson(info), + AdminId: adminInfo.ID, + AdminName: adminInfo.Name, + Status: utils.StatusAdminFirstVerify, + } + row, err := modelObj.Edit(w, &edit) + + if row > utils.NumberZero { + action.NewContent = info + utils.SetActionLog(adminInfo, action) + } + return l.ok(utils.NumberOne) +} diff --git a/services/store/internal/logic/infoLogic.go b/services/store/internal/logic/infoLogic.go new file mode 100644 index 0000000..c92e6db --- /dev/null +++ b/services/store/internal/logic/infoLogic.go @@ -0,0 +1,62 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/pkg/validate" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "strconv" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type InfoLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InfoLogic { + return &InfoLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *InfoLogic) Info(in *store.IdRequest) (*store.Response, error) { + var v validate.InfoValidator + if fail := l.checkParams(in, &v); fail != nil { + return fail, nil + } + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + var info dao.StoreInfo + modelObj := model.StoreModel{}.Init() + w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} + err := modelObj.GetOne(w, &info) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.ErrorNotFund) + } + + if info.Id < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + if info.Id > utils.NumberZero { + mobile, dErr := utils.DecryptPhone(info.UserMobile) + info.AesMobile = info.UserMobile + if dErr == nil { + info.UserMobile = utils.DecryptPhoneReplace(mobile) + } + } + return l.ok(info) +} diff --git a/services/store/internal/logic/itemsLogic.go b/services/store/internal/logic/itemsLogic.go new file mode 100644 index 0000000..fc143e7 --- /dev/null +++ b/services/store/internal/logic/itemsLogic.go @@ -0,0 +1,77 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "lone-services/services/store/internal/svc" + "lone-services/services/store/validator" + "strconv" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ItemsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ItemsLogic { + return &ItemsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ItemsLogic) Items(in *store.ItemsRequest) (*store.Response, error) { + var v validator.StoreItemsValidator + if fail := l.checkParams(in, &v); fail != nil { + return fail, nil + } + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + var info []dao.StoreInfo + w := modelbase.Params{ + Page: int(in.Page), + Size: int(in.Size), + Order: "id desc", + } + + w.Like = make(map[string]string) + w.Eq = make(map[string]string) + + if len(in.Name) > utils.NumberZero { + w.Like["name LIKE ? "] = "%%" + in.Name + "%%" + } + if in.SaleId > utils.NumberZero { + w.Eq["sale_id"] = strconv.FormatInt(in.SaleId, utils.NumberTen) + } + if in.Status > utils.NumberZero { + w.Eq["status"] = string(in.Status) + } + + items, err := model.StoreModel{}.Init().Page(w, &info) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.ErrorNotFund) + } + for i := range info { + item := &info[i] + mobile, dErr := utils.DecryptPhone(item.UserMobile) + item.AesMobile = item.UserMobile + if dErr == nil { + item.UserMobile = utils.DecryptPhoneReplace(mobile) + } + } + items.Items = info + + return l.ok(items) +} diff --git a/services/store/internal/logic/namesLogic.go b/services/store/internal/logic/namesLogic.go new file mode 100644 index 0000000..4e08625 --- /dev/null +++ b/services/store/internal/logic/namesLogic.go @@ -0,0 +1,45 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type NamesLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *NamesLogic { + return &NamesLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *NamesLogic) Names(in *store.EmptyRequest) (*store.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + w := modelbase.Params{Eq: map[string]string{"status": utils.StringStatusOk}} + var names []dao.StoreNames + err := model.StoreModel{}.Init().Items(w, &names) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.ErrorNotFund) + } + + return l.ok(names) +} diff --git a/services/store/internal/logic/setDefLogic.go b/services/store/internal/logic/setDefLogic.go new file mode 100644 index 0000000..5918a40 --- /dev/null +++ b/services/store/internal/logic/setDefLogic.go @@ -0,0 +1,55 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "strconv" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type SetDefLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewSetDefLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SetDefLogic { + return &SetDefLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *SetDefLogic) SetDef(in *store.EmptyRequest) (*store.Response, error) { + w := modelbase.Params{} + var info []dao.StoreCreate + model.StoreModel{}.Init().Items(w, &info) + for _, item := range info { + tw := modelbase.Params{ + Eq: map[string]string{"id": strconv.FormatInt(item.Id, 10)}, + } + mobile, aErr := utils.Crypto{}.AESDecryptECB(item.UserMobile) + if aErr != nil { + l.Logger.Error("AESDecryptECB = ", aErr, " id = ", item.Id) + continue + } + item.UserMobile, aErr = utils.EncryptPhone(mobile) + if aErr != nil { + l.Logger.Error("EncryptPhone = ", aErr, " id = ", item.Id) + continue + } + + row, err := model.StoreModel{}.Init().Edit(tw, &item) + logx.Error("Edit = ", err, " row = ", row, " id = ", item.Id) + } + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/statusLogic.go b/services/store/internal/logic/statusLogic.go new file mode 100644 index 0000000..b90019e --- /dev/null +++ b/services/store/internal/logic/statusLogic.go @@ -0,0 +1,72 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + "lone-services/pkg/validate" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "strconv" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type StatusLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *StatusLogic { + return &StatusLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *StatusLogic) Status(in *store.StatusRequest) (*store.Response, error) { + var v validate.StatusValidator + if fail := l.checkParams(in, &v); fail != nil { + return fail, nil + } + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + var action = utils.ActionAdd{} + var info dao.StoreStatus + w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} + modelObj := model.StoreModel{}.Init() + err := modelObj.GetOne(w, &info) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.Fail) + } + if info.Id < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + action.OldContent = info + info.Status = in.Status + info.Reason = in.Reason + info.AdminName = adminInfo.Name + info.AdminId = adminInfo.ID + row, editErr := modelObj.Edit(w, info) + if editErr != nil { + l.Logger.Error(editErr) + return l.fail(utils.Fail) + } + if row > utils.NumberZero { + action.NewContent = info + action.Reason = in.Reason + action.Type = utils.LogActionTypeStatus + action.ModuleName = utils.LogActionModuleStore + utils.SetActionLog(adminInfo, action) + } + return l.ok(utils.NumberOne) +} diff --git a/services/store/internal/logic/toSaleLogic.go b/services/store/internal/logic/toSaleLogic.go new file mode 100644 index 0000000..b154ec1 --- /dev/null +++ b/services/store/internal/logic/toSaleLogic.go @@ -0,0 +1,117 @@ +package logic + +import ( + "context" + "lone-services/pkg/modelbase" + "lone-services/pkg/utils" + order "lone-services/rpc/order/pb" + sale "lone-services/rpc/sale/pb" + "lone-services/services/store/internal/dao" + "lone-services/services/store/internal/model" + "strconv" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ToSaleLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewToSaleLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ToSaleLogic { + return &ToSaleLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *ToSaleLogic) ToSale(in *store.ToSaleRequest) (*store.Response, error) { + adminInfo := utils.GetUserFromCtx(l.ctx) + if adminInfo.ID < utils.NumberOne { + return l.fail(utils.ErrorNoLoginInfo) + } + var info dao.StoreToSale + w := modelbase.Params{ + Eq: map[string]string{"id": strconv.Itoa(int(in.Id))}} + modelObj := model.StoreModel{}.Init() + err := modelObj.GetOne(w, &info) + + if err != nil { + l.Logger.Error(err) + return l.fail(utils.Fail) + } + if info.Id < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + + info.SaleId = in.SaleId + info.AdminId = adminInfo.ID + info.AdminName = adminInfo.Name + + groupId, sErr := l.getSaleInfo(info.SaleId) + if sErr != utils.Ok { + return l.fail(sErr) + } + if groupId < utils.NumberOne { + return l.fail(utils.ErrorNotFund) + } + + info.GroupId = groupId + + sErr = l.setAddressSaleInfo(info) + if sErr != utils.Ok { + return l.fail(sErr) + } + + _, err = modelObj.Edit(w, &info) + if err != nil { + l.Logger.Error(err) + return l.fail(utils.Fail) + } + + return l.ok(utils.NumberOne) +} + +func (l *ToSaleLogic) getSaleInfo(id int64) (int64, utils.Status) { + cli, err := svc.GetRpcClient(l.svcCtx.SaleName) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.NumberZero, utils.ErrorInternalServer + } + + client := sale.NewSaleClient(cli.Conn()) + w := sale.InfoReq{Id: id} + info, err := client.InfoInternal(context.Background(), &w) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.NumberZero, utils.ErrorInternalServer + } + return info.GroupId, utils.Ok +} + +func (l *ToSaleLogic) setAddressSaleInfo(info dao.StoreToSale) utils.Status { + cli, err := svc.GetRpcClient(l.svcCtx.OrderName) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.ErrorInternalServer + } + + client := order.NewOrderClient(cli.Conn()) + data := order.UpdateAddressSaleInfoRequest{ + Id: info.Id, + SaleId: info.SaleId, + GroupId: info.GroupId, + } + _, err = client.UpdateAddressSaleInfo(context.Background(), &data) + if err != nil { + logx.Errorf("get order err: %v", err) + return utils.ErrorInternalServer + } + return utils.Ok +} diff --git a/services/store/internal/logic/verifyEditLogic.go b/services/store/internal/logic/verifyEditLogic.go new file mode 100644 index 0000000..93614d3 --- /dev/null +++ b/services/store/internal/logic/verifyEditLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type VerifyEditLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewVerifyEditLogic(ctx context.Context, svcCtx *svc.ServiceContext) *VerifyEditLogic { + return &VerifyEditLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *VerifyEditLogic) VerifyEdit(in *store.EditRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/verifyItemsLogic.go b/services/store/internal/logic/verifyItemsLogic.go new file mode 100644 index 0000000..eecad1d --- /dev/null +++ b/services/store/internal/logic/verifyItemsLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type VerifyItemsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewVerifyItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *VerifyItemsLogic { + return &VerifyItemsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *VerifyItemsLogic) VerifyItems(in *store.VerifyItemsRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/verifyStatusLogic.go b/services/store/internal/logic/verifyStatusLogic.go new file mode 100644 index 0000000..6015b97 --- /dev/null +++ b/services/store/internal/logic/verifyStatusLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type VerifyStatusLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewVerifyStatusLogic(ctx context.Context, svcCtx *svc.ServiceContext) *VerifyStatusLogic { + return &VerifyStatusLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *VerifyStatusLogic) VerifyStatus(in *store.StatusRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/webDepositCreateLogic.go b/services/store/internal/logic/webDepositCreateLogic.go new file mode 100644 index 0000000..252f3b1 --- /dev/null +++ b/services/store/internal/logic/webDepositCreateLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type WebDepositCreateLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewWebDepositCreateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WebDepositCreateLogic { + return &WebDepositCreateLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *WebDepositCreateLogic) WebDepositCreate(in *store.WebDepositCreateRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/logic/webDepositItemsLogic.go b/services/store/internal/logic/webDepositItemsLogic.go new file mode 100644 index 0000000..6c3fcd2 --- /dev/null +++ b/services/store/internal/logic/webDepositItemsLogic.go @@ -0,0 +1,31 @@ +package logic + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/logx" +) + +type WebDepositItemsLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger + BaseLogic +} + +func NewWebDepositItemsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *WebDepositItemsLogic { + return &WebDepositItemsLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *WebDepositItemsLogic) WebDepositItems(in *store.WebDepositItemsRequest) (*store.Response, error) { + // todo: add your logic here and delete this line + + return &store.Response{}, nil +} diff --git a/services/store/internal/model/deposit.go b/services/store/internal/model/deposit.go new file mode 100644 index 0000000..ced9d81 --- /dev/null +++ b/services/store/internal/model/deposit.go @@ -0,0 +1,23 @@ +package model + +import ( + "lone-services/pkg/modelbase" + "lone-services/services/store/internal/dao" +) + +type DepositModel struct { + modelbase.Base +} + +func (m DepositModel) TableName() string { + return modelbase.Prefix() + "deposit" +} + +func (m DepositModel) Init() DepositModel { + m.Table = m.TableName() + return m +} + +func (m DepositModel) Create(data *dao.StoreCreate) error { + return m.Base.Create(data) +} diff --git a/services/store/internal/model/salesPersonHistory.go b/services/store/internal/model/salesPersonHistory.go new file mode 100644 index 0000000..4b8a0c0 --- /dev/null +++ b/services/store/internal/model/salesPersonHistory.go @@ -0,0 +1,23 @@ +package model + +import ( + "lone-services/pkg/modelbase" + "lone-services/services/store/internal/dao" +) + +type SalesPersonHistoryModel struct { + modelbase.Base +} + +func (m SalesPersonHistoryModel) TableName() string { + return modelbase.Prefix() + "deposit" +} + +func (m SalesPersonHistoryModel) Init() SalesPersonHistoryModel { + m.Table = m.TableName() + return m +} + +func (m SalesPersonHistoryModel) Create(data *dao.SalesPersonHistoryCreate) error { + return m.Base.Create(data) +} diff --git a/services/store/internal/model/store.go b/services/store/internal/model/store.go new file mode 100644 index 0000000..f8143c6 --- /dev/null +++ b/services/store/internal/model/store.go @@ -0,0 +1,28 @@ +package model + +import ( + "lone-services/pkg/modelbase" + "lone-services/services/store/internal/dao" +) + +type StoreModel struct { + modelbase.Base +} + +const ( + StoreTypeAdmin = 1 + StoreTypeSales = 2 +) + +func (m StoreModel) TableName() string { + return modelbase.Prefix() + "store" +} + +func (m StoreModel) Init() StoreModel { + m.Table = m.TableName() + return m +} + +func (m StoreModel) Create(data *dao.DepositCreate) error { + return m.Base.Create(data) +} diff --git a/services/store/internal/server/storeServer.go b/services/store/internal/server/storeServer.go new file mode 100644 index 0000000..ac5f072 --- /dev/null +++ b/services/store/internal/server/storeServer.go @@ -0,0 +1,149 @@ +// Code generated by goctl. DO NOT EDIT. +// goctl 1.10.2 +// Source: store.proto + +package server + +import ( + "context" + + "lone-services/rpc/store/pb" + "lone-services/services/store/internal/logic" + "lone-services/services/store/internal/svc" +) + +type StoreServer struct { + svcCtx *svc.ServiceContext + store.UnimplementedStoreServer +} + +func NewStoreServer(svcCtx *svc.ServiceContext) *StoreServer { + return &StoreServer{ + svcCtx: svcCtx, + } +} + +func (s *StoreServer) Status(ctx context.Context, in *store.StatusRequest) (*store.Response, error) { + l := logic.NewStatusLogic(ctx, s.svcCtx) + return l.Status(in) +} + +func (s *StoreServer) Edit(ctx context.Context, in *store.EditRequest) (*store.Response, error) { + l := logic.NewEditLogic(ctx, s.svcCtx) + return l.Edit(in) +} + +func (s *StoreServer) Create(ctx context.Context, in *store.CreateRequest) (*store.Response, error) { + l := logic.NewCreateLogic(ctx, s.svcCtx) + return l.Create(in) +} + +func (s *StoreServer) ToSale(ctx context.Context, in *store.ToSaleRequest) (*store.Response, error) { + l := logic.NewToSaleLogic(ctx, s.svcCtx) + return l.ToSale(in) +} + +func (s *StoreServer) Info(ctx context.Context, in *store.IdRequest) (*store.Response, error) { + l := logic.NewInfoLogic(ctx, s.svcCtx) + return l.Info(in) +} + +func (s *StoreServer) Content(ctx context.Context, in *store.ContentRequest) (*store.Response, error) { + l := logic.NewContentLogic(ctx, s.svcCtx) + return l.Content(in) +} + +func (s *StoreServer) Names(ctx context.Context, in *store.EmptyRequest) (*store.Response, error) { + l := logic.NewNamesLogic(ctx, s.svcCtx) + return l.Names(in) +} + +func (s *StoreServer) Items(ctx context.Context, in *store.ItemsRequest) (*store.Response, error) { + l := logic.NewItemsLogic(ctx, s.svcCtx) + return l.Items(in) +} + +func (s *StoreServer) VerifyItems(ctx context.Context, in *store.VerifyItemsRequest) (*store.Response, error) { + l := logic.NewVerifyItemsLogic(ctx, s.svcCtx) + return l.VerifyItems(in) +} + +func (s *StoreServer) VerifyStatus(ctx context.Context, in *store.StatusRequest) (*store.Response, error) { + l := logic.NewVerifyStatusLogic(ctx, s.svcCtx) + return l.VerifyStatus(in) +} + +func (s *StoreServer) VerifyEdit(ctx context.Context, in *store.EditRequest) (*store.Response, error) { + l := logic.NewVerifyEditLogic(ctx, s.svcCtx) + return l.VerifyEdit(in) +} + +func (s *StoreServer) ApplyEdit(ctx context.Context, in *store.ApplyEditRequest) (*store.Response, error) { + l := logic.NewApplyEditLogic(ctx, s.svcCtx) + return l.ApplyEdit(in) +} + +func (s *StoreServer) ApplyVerify(ctx context.Context, in *store.ItemsRequest) (*store.Response, error) { + l := logic.NewApplyVerifyLogic(ctx, s.svcCtx) + return l.ApplyVerify(in) +} + +func (s *StoreServer) ApplyVerifyStatus(ctx context.Context, in *store.StatusRequest) (*store.Response, error) { + l := logic.NewApplyVerifyStatusLogic(ctx, s.svcCtx) + return l.ApplyVerifyStatus(in) +} + +func (s *StoreServer) DepositDone(ctx context.Context, in *store.IdRequest) (*store.Response, error) { + l := logic.NewDepositDoneLogic(ctx, s.svcCtx) + return l.DepositDone(in) +} + +func (s *StoreServer) DepositIgnore(ctx context.Context, in *store.DepositIgnoreRequest) (*store.Response, error) { + l := logic.NewDepositIgnoreLogic(ctx, s.svcCtx) + return l.DepositIgnore(in) +} + +func (s *StoreServer) DepositVerify(ctx context.Context, in *store.DepositVerifyRequest) (*store.Response, error) { + l := logic.NewDepositVerifyLogic(ctx, s.svcCtx) + return l.DepositVerify(in) +} + +func (s *StoreServer) DepositDown(ctx context.Context, in *store.DepositItemsRequest) (*store.Response, error) { + l := logic.NewDepositDownLogic(ctx, s.svcCtx) + return l.DepositDown(in) +} + +func (s *StoreServer) DepositItems(ctx context.Context, in *store.DepositItemsRequest) (*store.Response, error) { + l := logic.NewDepositItemsLogic(ctx, s.svcCtx) + return l.DepositItems(in) +} + +func (s *StoreServer) DepositIgnoreItems(ctx context.Context, in *store.DepositVerifyRequest) (*store.Response, error) { + l := logic.NewDepositIgnoreItemsLogic(ctx, s.svcCtx) + return l.DepositIgnoreItems(in) +} + +func (s *StoreServer) DepositRecover(ctx context.Context, in *store.IdRequest) (*store.Response, error) { + l := logic.NewDepositRecoverLogic(ctx, s.svcCtx) + return l.DepositRecover(in) +} + +func (s *StoreServer) DepositBackfill(ctx context.Context, in *store.DepositBackfillRequest) (*store.Response, error) { + l := logic.NewDepositBackfillLogic(ctx, s.svcCtx) + return l.DepositBackfill(in) +} + +func (s *StoreServer) WebDepositCreate(ctx context.Context, in *store.WebDepositCreateRequest) (*store.Response, error) { + l := logic.NewWebDepositCreateLogic(ctx, s.svcCtx) + return l.WebDepositCreate(in) +} + +func (s *StoreServer) WebDepositItems(ctx context.Context, in *store.WebDepositItemsRequest) (*store.Response, error) { + l := logic.NewWebDepositItemsLogic(ctx, s.svcCtx) + return l.WebDepositItems(in) +} + +func (s *StoreServer) SetDef(ctx context.Context, in *store.EmptyRequest) (*store.Response, error) { + l := logic.NewSetDefLogic(ctx, s.svcCtx) + return l.SetDef(in) +} diff --git a/services/store/internal/svc/servicecontext.go b/services/store/internal/svc/servicecontext.go new file mode 100644 index 0000000..60d2c5e --- /dev/null +++ b/services/store/internal/svc/servicecontext.go @@ -0,0 +1,103 @@ +package svc + +import ( + "fmt" + "lone-services/pkg/discovery" + "lone-services/pkg/utils" + "lone-services/services/store/internal/config" + "net" + "strconv" + "sync" + "time" + + "github.com/zeromicro/go-zero/core/logx" + "github.com/zeromicro/go-zero/zrpc" + "gorm.io/gorm" +) + +type rpcClientCacheEntry struct { + cli zrpc.Client + target string + expireAt time.Time +} + +const rpcClientCacheTTL = 30 * time.Second //缓存过期时间 + +var ( + rpcCacheLock sync.Mutex + rpcCache = make(map[string]*rpcClientCacheEntry) +) + +func GetRpcClient(serviceName string) (zrpc.Client, error) { + if serviceName == utils.StringEmpty { + err := fmt.Errorf("rpc serviceName is empty") + logx.Error(err) + return nil, err + } + + cacheKey := serviceName + + rpcCacheLock.Lock() + entry, ok := rpcCache[cacheKey] + if ok && time.Now().Before(entry.expireAt) { + rpcCacheLock.Unlock() + return entry.cli, nil + } + delete(rpcCache, cacheKey) + rpcCacheLock.Unlock() + + inst, err := discovery.Pick(serviceName) + if err != nil { + err = fmt.Errorf("discovery pick %s failed: %w", serviceName, err) + logx.Error(err) + return nil, err + } + + target := net.JoinHostPort(inst.IP, strconv.FormatUint(inst.Port, utils.NumberTen)) + + cli := zrpc.MustNewClient(zrpc.RpcClientConf{ + Target: target, + Timeout: utils.RpcTimeOut, //rpc调用超时5s + }) + + rpcCacheLock.Lock() + rpcCache[cacheKey] = &rpcClientCacheEntry{ + cli: cli, + target: target, + expireAt: time.Now().Add(rpcClientCacheTTL), + } + rpcCacheLock.Unlock() + + return cli, nil +} + +type ServiceContext struct { + Config config.Config + DB *gorm.DB + Prefix string + SaleName string + OrderName string +} + +func NewServiceContext(c config.Config, db *gorm.DB) *ServiceContext { + //启动仅读取配置,不建立rpc连接 多个服务就多个 + SaleSvc := utils.GetConfigString("services.sale") + if SaleSvc == utils.StringEmpty { + logx.Error("config services.sale empty") + } + //启动仅读取配置,不建立rpc连接 多个服务就多个 + OrderSvc := utils.GetConfigString("services.order") + if OrderSvc == utils.StringEmpty { + logx.Error("config services.order empty") + } + + svcCtx := &ServiceContext{ + Config: c, + DB: db, + Prefix: utils.GetConfigString("mysql.prefix"), + SaleName: SaleSvc, + OrderName: OrderSvc, + } + + return svcCtx +} diff --git a/services/store/store.go b/services/store/store.go new file mode 100644 index 0000000..9db43b5 --- /dev/null +++ b/services/store/store.go @@ -0,0 +1,170 @@ +package main + +import ( + "flag" + "lone-services/pkg/discovery" + "lone-services/pkg/logRedis" + "lone-services/pkg/modelbase" + "lone-services/pkg/mysql" + "lone-services/pkg/redis" + "lone-services/pkg/utils" + "lone-services/pkg/validate" + store "lone-services/rpc/store/pb" + "net" + "os" + "strconv" + + "lone-services/services/store/internal/config" + "lone-services/services/store/internal/server" + "lone-services/services/store/internal/svc" + + "github.com/zeromicro/go-zero/core/conf" + "github.com/zeromicro/go-zero/core/logx" + "github.com/zeromicro/go-zero/core/service" + "github.com/zeromicro/go-zero/zrpc" + "google.golang.org/grpc" + "google.golang.org/grpc/reflection" +) + +var configFile = flag.String("f", "etc/store.yaml", "the config file") + +func main() { + flag.Parse() + var c config.Config + conf.MustLoad(*configFile, &c) + + // Nacos配置拉取初始化 + nacosParam := utils.NacosConfig{ + Hosts: c.Nacos.Hosts, + NamespaceId: c.Nacos.NamespaceId, + Group: c.Nacos.Group, + ConfigID: c.Nacos.ConfigID, + } + utils.InitConfig(nacosParam) + + // 日志配置 + logConf := logx.LogConf{ + ServiceName: utils.GetConfigString("log.serviceName"), + Mode: utils.GetConfigString("log.mode"), + Encoding: utils.GetConfigString("log.encoding"), + Level: utils.GetConfigString("log.level"), + Path: utils.GetConfigString("log.path"), + KeepDays: utils.GetConfigInt("log.keepDays"), + MaxSize: utils.GetConfigInt("log.maxSize"), + MaxBackups: utils.GetConfigInt("log.maxBackups"), + Compress: utils.GetConfigBool("log.compress"), + } + logx.SetUp(logConf) + logx.AddWriter(logx.NewWriter(os.Stdout)) + + listenOn := utils.GetConfigString("base.listenOn") + mode := utils.GetConfigString("base.mode") + serviceName := utils.GetConfigString("base.name") + + // 初始化服务发现 + if err := discovery.Init(discovery.Config{ + Hosts: c.Nacos.Hosts, + NamespaceId: c.Nacos.NamespaceId, + Group: c.Nacos.Group, + }); err != nil { + logx.Errorf("nacos init: %v", err) + os.Exit(1) + } + + port, err := listenPort(listenOn) + if err != nil { + logx.Errorf("parse ListenOn: %v", err) + os.Exit(1) + } + + // 注册服务 + if err := discovery.Register(discovery.Instance{ + ServiceName: serviceName, + IP: c.Nacos.RegisterIP, + Port: port, + Group: c.Nacos.Group, + }); err != nil { + logx.Errorf("nacos register: %v", err) + os.Exit(1) + } + logx.Infof("服务注册成功: %s:%d", c.Nacos.RegisterIP, port) + + defer func() { + if err := discovery.Deregister(); err != nil { + logx.Errorf("nacos deregister: %v", err) + } + }() + + // 初始化MySQL + db, err := mysql.New(mysql.Config{ + Host: utils.GetConfigString("mysql.host"), + Port: utils.GetConfigInt("mysql.port"), + User: utils.GetConfigString("mysql.user"), + Password: utils.GetConfigString("mysql.password"), + Database: utils.GetConfigString("mysql.database"), + Charset: utils.GetConfigString("mysql.charset"), + Prefix: utils.GetConfigString("mysql.prefix"), + ReadHost: utils.GetConfigString("mysql_read.host"), + ReadPort: utils.GetConfigInt("mysql_read.port"), + ReadUser: utils.GetConfigString("mysql_read.user"), + ReadPassword: utils.GetConfigString("mysql_read.password"), + ReadDatabase: utils.GetConfigString("mysql_read.database"), + }) + if err != nil { + logx.Errorf("mysql init: %v", err) + os.Exit(1) + } + + // 初始化Redis + if err := redis.Init(redis.Config{ + Host: utils.GetConfigString("redis.host"), + Port: utils.GetConfigInt("redis.port"), + Password: utils.GetConfigString("redis.password"), + DB: utils.GetConfigInt("redis.db"), + }); err != nil { + logx.Errorf("redis init: %v", err) + os.Exit(1) + } + + if err := logRedis.Init(logRedis.LogRedisConfig{ + Host: utils.GetConfigString("log-redis.host"), + Port: utils.GetConfigInt("log-redis.port"), + Password: utils.GetConfigString("log-redis.password"), + DB: utils.GetConfigInt("log-redis.db"), + }); err != nil { + logx.Errorf("log redis init: %v", err) + os.Exit(1) + } + + debug := utils.GetConfigBool("mysql.debug") + modelbase.Init(db, modelbase.Config{Prefix: utils.GetConfigString("mysql.prefix"), Debug: debug}) + + // 初始化服务信息 + rpcConf := zrpc.RpcServerConf{ + ListenOn: listenOn, + } + rpcConf.Mode = mode + ctx := svc.NewServiceContext(c, db) + + s := zrpc.MustNewServer(rpcConf, func(grpcServer *grpc.Server) { + store.RegisterStoreServer(grpcServer, server.NewStoreServer(ctx)) + if mode == service.DevMode || mode == service.TestMode { + reflection.Register(grpcServer) + } + }) + defer s.Stop() + + s.AddUnaryInterceptors(validate.UnaryServerInterceptor(validate.MustNew())) + + logx.Infof("Starting rpc server at %s...", listenOn) + s.Start() +} + +// listenPort 拆分端口 +func listenPort(listenOn string) (uint64, error) { + _, portStr, err := net.SplitHostPort(listenOn) + if err != nil { + return utils.NumberZero, err + } + return strconv.ParseUint(portStr, utils.NumberTen, utils.NumberSixtyFourth) +} diff --git a/services/store/storeclient/store.go b/services/store/storeclient/store.go new file mode 100644 index 0000000..0495144 --- /dev/null +++ b/services/store/storeclient/store.go @@ -0,0 +1,198 @@ +// Code generated by goctl. DO NOT EDIT. +// goctl 1.10.2 +// Source: store.proto + +package storeClient + +import ( + "context" + + "lone-services/rpc/store/pb" + + "github.com/zeromicro/go-zero/zrpc" + "google.golang.org/grpc" +) + +type ( + ApplyEditRequest = store.ApplyEditRequest + ContentRequest = store.ContentRequest + CreateRequest = store.CreateRequest + DepositBackfillRequest = store.DepositBackfillRequest + DepositIgnoreRequest = store.DepositIgnoreRequest + DepositItemsRequest = store.DepositItemsRequest + DepositVerifyRequest = store.DepositVerifyRequest + EditRequest = store.EditRequest + EmptyRequest = store.EmptyRequest + IdRequest = store.IdRequest + ItemsRequest = store.ItemsRequest + Response = store.Response + StatusRequest = store.StatusRequest + ToSaleRequest = store.ToSaleRequest + VerifyEditRequest = store.VerifyEditRequest + VerifyItemsRequest = store.VerifyItemsRequest + WebDepositCreateRequest = store.WebDepositCreateRequest + WebDepositItemsRequest = store.WebDepositItemsRequest + + Store interface { + Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) + Edit(ctx context.Context, in *EditRequest, opts ...grpc.CallOption) (*Response, error) + Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*Response, error) + ToSale(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) + Info(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) + Content(ctx context.Context, in *ContentRequest, opts ...grpc.CallOption) (*Response, error) + Names(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) + Items(ctx context.Context, in *ItemsRequest, opts ...grpc.CallOption) (*Response, error) + VerifyItems(ctx context.Context, in *VerifyItemsRequest, opts ...grpc.CallOption) (*Response, error) + VerifyStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) + VerifyEdit(ctx context.Context, in *EditRequest, opts ...grpc.CallOption) (*Response, error) + ApplyEdit(ctx context.Context, in *ApplyEditRequest, opts ...grpc.CallOption) (*Response, error) + ApplyVerify(ctx context.Context, in *ItemsRequest, opts ...grpc.CallOption) (*Response, error) + ApplyVerifyStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) + DepositDone(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) + DepositIgnore(ctx context.Context, in *DepositIgnoreRequest, opts ...grpc.CallOption) (*Response, error) + DepositVerify(ctx context.Context, in *DepositVerifyRequest, opts ...grpc.CallOption) (*Response, error) + DepositDown(ctx context.Context, in *DepositItemsRequest, opts ...grpc.CallOption) (*Response, error) + DepositItems(ctx context.Context, in *DepositItemsRequest, opts ...grpc.CallOption) (*Response, error) + DepositIgnoreItems(ctx context.Context, in *DepositVerifyRequest, opts ...grpc.CallOption) (*Response, error) + DepositRecover(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) + DepositBackfill(ctx context.Context, in *DepositBackfillRequest, opts ...grpc.CallOption) (*Response, error) + WebDepositCreate(ctx context.Context, in *WebDepositCreateRequest, opts ...grpc.CallOption) (*Response, error) + WebDepositItems(ctx context.Context, in *WebDepositItemsRequest, opts ...grpc.CallOption) (*Response, error) + SetDef(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) + } + + defaultStore struct { + cli zrpc.Client + } +) + +func NewStore(cli zrpc.Client) Store { + return &defaultStore{ + cli: cli, + } +} + +func (m *defaultStore) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Status(ctx, in, opts...) +} + +func (m *defaultStore) Edit(ctx context.Context, in *EditRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Edit(ctx, in, opts...) +} + +func (m *defaultStore) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Create(ctx, in, opts...) +} + +func (m *defaultStore) ToSale(ctx context.Context, in *ToSaleRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.ToSale(ctx, in, opts...) +} + +func (m *defaultStore) Info(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Info(ctx, in, opts...) +} + +func (m *defaultStore) Content(ctx context.Context, in *ContentRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Content(ctx, in, opts...) +} + +func (m *defaultStore) Names(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Names(ctx, in, opts...) +} + +func (m *defaultStore) Items(ctx context.Context, in *ItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.Items(ctx, in, opts...) +} + +func (m *defaultStore) VerifyItems(ctx context.Context, in *VerifyItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.VerifyItems(ctx, in, opts...) +} + +func (m *defaultStore) VerifyStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.VerifyStatus(ctx, in, opts...) +} + +func (m *defaultStore) VerifyEdit(ctx context.Context, in *EditRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.VerifyEdit(ctx, in, opts...) +} + +func (m *defaultStore) ApplyEdit(ctx context.Context, in *ApplyEditRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.ApplyEdit(ctx, in, opts...) +} + +func (m *defaultStore) ApplyVerify(ctx context.Context, in *ItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.ApplyVerify(ctx, in, opts...) +} + +func (m *defaultStore) ApplyVerifyStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.ApplyVerifyStatus(ctx, in, opts...) +} + +func (m *defaultStore) DepositDone(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositDone(ctx, in, opts...) +} + +func (m *defaultStore) DepositIgnore(ctx context.Context, in *DepositIgnoreRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositIgnore(ctx, in, opts...) +} + +func (m *defaultStore) DepositVerify(ctx context.Context, in *DepositVerifyRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositVerify(ctx, in, opts...) +} + +func (m *defaultStore) DepositDown(ctx context.Context, in *DepositItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositDown(ctx, in, opts...) +} + +func (m *defaultStore) DepositItems(ctx context.Context, in *DepositItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositItems(ctx, in, opts...) +} + +func (m *defaultStore) DepositIgnoreItems(ctx context.Context, in *DepositVerifyRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositIgnoreItems(ctx, in, opts...) +} + +func (m *defaultStore) DepositRecover(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositRecover(ctx, in, opts...) +} + +func (m *defaultStore) DepositBackfill(ctx context.Context, in *DepositBackfillRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.DepositBackfill(ctx, in, opts...) +} + +func (m *defaultStore) WebDepositCreate(ctx context.Context, in *WebDepositCreateRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.WebDepositCreate(ctx, in, opts...) +} + +func (m *defaultStore) WebDepositItems(ctx context.Context, in *WebDepositItemsRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.WebDepositItems(ctx, in, opts...) +} + +func (m *defaultStore) SetDef(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) { + client := store.NewStoreClient(m.cli.Conn()) + return client.SetDef(ctx, in, opts...) +} diff --git a/services/store/validator/deposit.go b/services/store/validator/deposit.go new file mode 100644 index 0000000..36f77ab --- /dev/null +++ b/services/store/validator/deposit.go @@ -0,0 +1,86 @@ +package validator + +import "lone-services/pkg/validate" + +// DepositCreateValidator 添加充值 +type DepositCreateValidator struct { + Bill string `form:"bill" json:"bill" binding:"required"` + Amount float64 `form:"amount" json:"amount" binding:"required"` +} + +// GetMessage 提示消息 +func (p DepositCreateValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + "Bill.required": "回执信息不能为空", + "Amount.required": "金额不能为空", + } +} + +type DepositWebItemsValidator struct { + Page int64 `form:"page" json:"page"` + Size int64 `form:"size" json:"size"` +} + +// GetMessage 提示消息 +func (p DepositWebItemsValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{} +} + +type DepositItemsValidator struct { + Name string `form:"name" json:"name"` + Page int64 `form:"page" json:"page"` + Size int64 `form:"size" json:"size"` + Status int32 `form:"status" json:"status"` +} + +// GetMessage 提示消息 +func (p DepositItemsValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{} +} + +type DepositBackfillValidator struct { + Id int64 `form:"id" json:"id" binding:"required"` + Amount float64 `form:"amount" json:"amount"` +} + +// GetMessage 提示消息 +func (p DepositBackfillValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + } +} + +type DepositVerifyItemsValidator struct { + Name string `form:"name" json:"name"` + Page int64 `form:"page" json:"page"` + Size int64 `form:"size" json:"size"` +} + +// GetMessage 提示消息 +func (p DepositVerifyItemsValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{} +} + +type DepositIgnoreValidator struct { + Id int64 `form:"id" json:"id" binding:"required"` + Reason string `form:"reason" json:"reason" binding:"required"` +} + +// GetMessage 提示消息 +func (p DepositIgnoreValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + "Reason.required": "理由不能为空", + } +} + +type DepositDoneValidator struct { + Id int64 `form:"id" json:"id" binding:"required"` +} + +// GetMessage 提示消息 +func (p DepositDoneValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + } +} diff --git a/services/store/validator/store.go b/services/store/validator/store.go new file mode 100644 index 0000000..d698226 --- /dev/null +++ b/services/store/validator/store.go @@ -0,0 +1,265 @@ +package validator + +import "lone-services/pkg/validate" + +// StoreCreateValidator 创建产品 +type StoreCreateValidator struct { + UserMobile string `form:"user_mobile" json:"user_mobile" validate:"required"` + Name string `form:"name" json:"name" validate:"required"` + District string `form:"district" json:"district" validate:"required"` + DistrictIds string `form:"district_ids" json:"district_ids" validate:"required"` + Address string `form:"address" json:"address" validate:"required"` + UserName string `form:"user_name" json:"user_name" validate:"required"` + Password string `form:"password" json:"password" validate:"required,len=8"` + BusinessLicense string `form:"business_license" json:"business_license" validate:"required"` + BankInfo string `form:"bank_info" json:"bank_info"` + Images string `form:"images" json:"images" validate:"required"` + SaleId int64 `form:"sale_id" json:"sale_id" validate:"required"` + IdCard string `form:"id_card" json:"id_card" validate:"required"` + ConsigneeMobile string `form:"consignee_mobile" json:"consignee_mobile" validate:"required"` + ConsigneeName string `form:"consignee_name" json:"consignee_name" validate:"required"` + Receipt string `form:"receipt" json:"receipt" validate:"required"` + Type int32 `form:"type" json:"type" validate:"required,oneof=1 2 3"` + Area string `form:"area" json:"area"` + StoreImages string `form:"store_images" json:"store_images"` + Contact string `form:"contact" json:"contact"` + Content string `form:"content" json:"content"` + OpenTime string `form:"open_time" json:"open_time"` + LongitudeWgs84 string `form:"longitude_wgs84" json:"longitude_wgs84"` + LatitudeWgs84 string `form:"latitude_wgs84" json:"latitude_wgs84"` + LongitudeGcj02 string `form:"longitude_gcj02" json:"longitude_gcj02"` + LatitudeGcj02 string `form:"latitude_gcj02" json:"latitude_gcj02"` +} + +// GetMessage 提示消息 +func (p StoreCreateValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + "UserMobile.required": "手机号不能为空", + "Name.required": "名称不能为空", + "District.required": "地址不能为空", + "DistrictIds.required": "地址IDS不能为空", + "Address.required": "详细地址不能为空", + "UserName.required": "负责人姓名不能为空", + "Password.required": "密码不能为空", + "BusinessLicense.required": "营业执照不能为空", + "Images.required": "门店照片不能为空", + "SaleId.required": "销售ID不能为空", + "Password.len": "必须是8位", + "IdCard.required": "身份证正反面不能为空", + "ConsigneeMobile.required": "收货人手机号不能为空", + "ConsigneeName.required": "收货人姓名不能为空", + "Receipt.required": "发票信息不能为空", + validate.FieldType: validate.FieldTypeValue, + validate.FieldTypeIn: validate.FieldTypeInValue, + } +} + +type StoreEditValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` + UserMobile string `form:"user_mobile" json:"user_mobile" validate:"required"` + Name string `form:"name" json:"name" validate:"required"` + IdCard string `form:"id_card" json:"id_card" validate:"required"` + Receipt string `form:"receipt" json:"receipt" validate:"required"` + Type int32 `form:"type" json:"type" validate:"required,oneof=1 2 3"` + Area string `form:"area" json:"area"` + StoreImages string `form:"store_images" json:"store_images"` + DistrictIds string `form:"district_ids" json:"district_ids" validate:"required"` + Address string `form:"address" json:"address" validate:"required"` + BankInfo string `form:"bank_info" json:"bank_info"` + UserName string `form:"user_name" json:"user_name" validate:"required"` + BusinessLicense string `form:"business_license" json:"business_license" validate:"required"` + Images string `form:"images" json:"images" validate:"required"` + SaleId int64 `form:"sale_id" json:"sale_id" validate:"required"` + Contact string `form:"contact" json:"contact"` + Content string `form:"content" json:"content"` + OpenTime string `form:"open_time" json:"open_time"` + LongitudeWgs84 string `form:"longitude_wgs84" json:"longitude_wgs84"` + LatitudeWgs84 string `form:"latitude_wgs84" json:"latitude_wgs84"` + LongitudeGcj02 string `form:"longitude_gcj02" json:"longitude_gcj02"` + LatitudeGcj02 string `form:"latitude_gcj02" json:"latitude_gcj02"` +} + +// GetMessage 提示消息 +func (p StoreEditValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + "UserMobile.required": "手机号不能为空", + "Name.required": "名称不能为空", + "DistrictIds.required": "地址不能为空", + "Address.required": "详细地址不能为空", + "UserName.required": "负责人姓名不能为空", + validate.FieldId: validate.FieldIdValue, + "BusinessLicense.required": "营业执照不能为空", + "Images.required": "门店照片不能为空", + "SaleId.required": "销售ID不能为空", + "IdCard.required": "身份证正反面不能为空", + "Receipt.required": "发票信息不能为空", + validate.FieldType: validate.FieldTypeValue, + validate.FieldTypeIn: validate.FieldTypeInValue, + } +} + +type StoreInfoValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` +} + +// GetMessage 提示消息 +func (p StoreInfoValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + } +} + +type StoreNamesValidator struct { + SaleId int64 `form:"sale_id" json:"sale_id"` + Name string `form:"name" json:"name"` +} + +// GetMessage 提示消息 +func (p StoreNamesValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldType: validate.FieldTypeValue, + validate.FieldTypeIn: validate.FieldTypeInValue, + } +} + +type StoreStatusValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` + Status int32 `form:"status" json:"status" validate:"required,oneof=1 3"` + Reason string `form:"reason" json:"reason"` +} + +// GetMessage 提示消息 +func (p StoreStatusValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + validate.FieldStatus: validate.FieldStatusValue, + validate.FieldStatusIn: validate.FieldStatusInValue, + } +} + +type StoreItemsValidator struct { + Name string `form:"name" json:"name"` + Page int64 `form:"page" json:"page"` + Size int64 `form:"size" json:"size"` + SaleId int64 `form:"sale_id" json:"sale_id"` + Status int32 `form:"status" json:"status"` +} + +// GetMessage 提示消息 +func (p StoreItemsValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{} +} + +type StoreToSaleValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` + SaleId int64 `form:"sale_id" json:"sale_id" validate:"required"` +} + +// GetMessage 提示消息 +func (p StoreToSaleValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + "SaleId.required": "销售门店不能为空", + } +} + +type StoreContentValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` + Content string `form:"content" json:"content" validate:"required"` +} + +// GetMessage 提示消息 +func (p StoreContentValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + "Content.required": "内容不能为空", + } +} + +type StoreWebCreateValidator struct { + UserMobile string `form:"user_mobile" json:"user_mobile" validate:"required"` + Name string `form:"name" json:"name" validate:"required"` + District string `form:"district" json:"district" validate:"required"` + DistrictIds string `form:"district_ids" json:"district_ids" validate:"required"` + IdCard string `form:"id_card" json:"id_card" validate:"required"` + ConsigneeMobile string `form:"consignee_mobile" json:"consignee_mobile" validate:"required"` + ConsigneeName string `form:"consignee_name" json:"consignee_name" validate:"required"` + Receipt string `form:"receipt" json:"receipt" validate:"required"` + BankInfo string `form:"bank_info" json:"bank_info"` + Type int32 `form:"type" json:"type" validate:"required,oneof=1 2 3"` + Area string `form:"area" json:"area"` + StoreImages string `form:"store_images" json:"store_images"` + Address string `form:"address" json:"address" validate:"required"` + UserName string `form:"user_name" json:"user_name" validate:"required"` + BusinessLicense string `form:"business_license" json:"business_license" validate:"required"` + Images string `form:"images" json:"images" validate:"required"` + Contact string `form:"contact" json:"contact"` + Content string `form:"content" json:"content"` + OpenTime string `form:"open_time" json:"open_time"` + LongitudeWgs84 string `form:"longitude_wgs84" json:"longitude_wgs84"` + LatitudeWgs84 string `form:"latitude_wgs84" json:"latitude_wgs84"` + LongitudeGcj02 string `form:"longitude_gcj02" json:"longitude_gcj02"` + LatitudeGcj02 string `form:"latitude_gcj02" json:"latitude_gcj02"` +} + +// GetMessage 提示消息 +func (p StoreWebCreateValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + "UserMobile.required": "手机号不能为空", + "Name.required": "名称不能为空", + "District.required": "地址不能为空", + "DistrictIds.required": "地址IDS不能为空", + "Address.required": "详细地址不能为空", + "UserName.required": "负责人姓名不能为空", + "BusinessLicense.required": "营业执照不能为空", + "Images.required": "门店照片不能为空", + "IdCard.required": "身份证正反面不能为空", + "ConsigneeMobile.required": "收货人手机号不能为空", + "ConsigneeName.required": "收货人姓名不能为空", + "Receipt.required": "发票信息不能为空", + validate.FieldType: validate.FieldTypeValue, + validate.FieldTypeIn: validate.FieldTypeInValue, + } +} + +type StoreVerifyItemsValidator struct { + Name string `form:"name" json:"name"` + Page int64 `form:"page" json:"page"` + Size int64 `form:"size" json:"size"` + SaleId int64 `form:"sale_id" json:"sale_id"` + Status int32 `form:"status" json:"status" validate:"required,oneof=9 2"` +} + +// GetMessage 提示消息 +func (p StoreVerifyItemsValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldStatus: validate.FieldStatusValue, + validate.FieldStatusIn: validate.FieldStatusInValue, + } +} + +type StoreVerifyStatusValidator struct { + Id int64 `form:"id" json:"id" validate:"required"` + Status int32 `form:"status" json:"status" validate:"required,oneof=1 2"` + Reason string `form:"reason" json:"reason"` +} + +// GetMessage 提示消息 +func (p StoreVerifyStatusValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + validate.FieldId: validate.FieldIdValue, + validate.FieldStatus: validate.FieldStatusValue, + validate.FieldStatusIn: validate.FieldStatusInValue, + } +} + +type StoreWebPayPasswordValidator struct { + Password string `form:"password" json:"password" validate:"required"` +} + +// GetMessage 提示消息 +func (p StoreWebPayPasswordValidator) GetMessage() validate.ValidatorMessages { + return validate.ValidatorMessages{ + "Password.required": "支付密码不能为空", + } +}