feat: diff wecom
CI / changes (push) Successful in 39s
CI / ad (push) Successful in 28s
CI / admin (push) Successful in 21s
CI / bff (push) Successful in 20s
CI / chore (push) Successful in 29s
CI / equipment (push) Failing after 9s
CI / express (push) Successful in 20s
CI / factory (push) Successful in 21s
CI / payment (push) Successful in 22s
CI / product (push) Successful in 27s
CI / record (push) Successful in 26s
CI / sale (push) Successful in 32s
CI / task (push) Successful in 25s
CI / user (push) Successful in 31s
CI / wecom (push) Successful in 33s

This commit is contained in:
zzw
2026-09-18 17:44:26 +08:00
74 changed files with 5811 additions and 337 deletions
Binary file not shown.
+13
View File
@@ -81,6 +81,7 @@ service Chore {
}
rpc RegionsByIds(RegionsByIdsReq) returns (RegionsByIdsData);
rpc InternalActionApplyLogCreate(InternalActionApplyLogCreateReq) returns (InternalActionApplyLogCreateData);
rpc SendPassword(SendPasswordReq) returns (SendPasswordResp);
}
message Response {
@@ -162,4 +163,16 @@ message InternalActionApplyLogCreateReq {
message InternalActionApplyLogCreateData {
int64 id = 1;
}
message SendPasswordReq {
string mobile = 1;
string password = 2;
string browser_info = 3;
string ip = 4;
string browser_name = 5;
}
message SendPasswordResp {
int32 code = 1;
}
+161 -28
View File
@@ -7,13 +7,12 @@
package chore
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 (
@@ -747,7 +746,7 @@ type InternalActionApplyLogCreateReq struct {
state protoimpl.MessageState `protogen:"open.v1"`
AdminId int64 `protobuf:"varint,1,opt,name=admin_id,json=adminId,proto3" json:"admin_id,omitempty"`
ObjId int64 `protobuf:"varint,2,opt,name=obj_id,json=objId,proto3" json:"obj_id,omitempty"`
Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` // 1产品 2门店
Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` // 1产品 2门店 3地址 4销售
Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
Status uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` // 1通过 2驳回 9待审核
unknownFields protoimpl.UnknownFields
@@ -779,6 +778,7 @@ func (x *InternalActionApplyLogCreateReq) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use InternalActionApplyLogCreateReq.ProtoReflect.Descriptor instead.
func (*InternalActionApplyLogCreateReq) Descriptor() ([]byte, []int) {
return file_chore_chore_proto_rawDescGZIP(), []int{14}
}
@@ -850,6 +850,7 @@ func (x *InternalActionApplyLogCreateData) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use InternalActionApplyLogCreateData.ProtoReflect.Descriptor instead.
func (*InternalActionApplyLogCreateData) Descriptor() ([]byte, []int) {
return file_chore_chore_proto_rawDescGZIP(), []int{15}
}
@@ -861,6 +862,126 @@ func (x *InternalActionApplyLogCreateData) GetId() int64 {
return 0
}
type SendPasswordReq struct {
state protoimpl.MessageState `protogen:"open.v1"`
Mobile string `protobuf:"bytes,1,opt,name=mobile,proto3" json:"mobile,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
BrowserInfo string `protobuf:"bytes,3,opt,name=browser_info,json=browserInfo,proto3" json:"browser_info,omitempty"`
Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"`
BrowserName string `protobuf:"bytes,5,opt,name=browser_name,json=browserName,proto3" json:"browser_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SendPasswordReq) Reset() {
*x = SendPasswordReq{}
mi := &file_chore_chore_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SendPasswordReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendPasswordReq) ProtoMessage() {}
func (x *SendPasswordReq) ProtoReflect() protoreflect.Message {
mi := &file_chore_chore_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 SendPasswordReq.ProtoReflect.Descriptor instead.
func (*SendPasswordReq) Descriptor() ([]byte, []int) {
return file_chore_chore_proto_rawDescGZIP(), []int{16}
}
func (x *SendPasswordReq) GetMobile() string {
if x != nil {
return x.Mobile
}
return ""
}
func (x *SendPasswordReq) GetPassword() string {
if x != nil {
return x.Password
}
return ""
}
func (x *SendPasswordReq) GetBrowserInfo() string {
if x != nil {
return x.BrowserInfo
}
return ""
}
func (x *SendPasswordReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *SendPasswordReq) GetBrowserName() string {
if x != nil {
return x.BrowserName
}
return ""
}
type SendPasswordResp struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SendPasswordResp) Reset() {
*x = SendPasswordResp{}
mi := &file_chore_chore_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SendPasswordResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SendPasswordResp) ProtoMessage() {}
func (x *SendPasswordResp) ProtoReflect() protoreflect.Message {
mi := &file_chore_chore_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 SendPasswordResp.ProtoReflect.Descriptor instead.
func (*SendPasswordResp) Descriptor() ([]byte, []int) {
return file_chore_chore_proto_rawDescGZIP(), []int{17}
}
func (x *SendPasswordResp) GetCode() int32 {
if x != nil {
return x.Code
}
return 0
}
var File_chore_chore_proto protoreflect.FileDescriptor
const file_chore_chore_proto_rawDesc = "" +
@@ -918,8 +1039,15 @@ const file_chore_chore_proto_rawDesc = "" +
"\x06reason\x18\x04 \x01(\tR\x06reason\x12\x16\n" +
"\x06status\x18\x05 \x01(\rR\x06status\"2\n" +
" InternalActionApplyLogCreateData\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id2\xda\n" +
"\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\"\x9b\x01\n" +
"\x0fSendPasswordReq\x12\x16\n" +
"\x06mobile\x18\x01 \x01(\tR\x06mobile\x12\x1a\n" +
"\bpassword\x18\x02 \x01(\tR\bpassword\x12!\n" +
"\fbrowser_info\x18\x03 \x01(\tR\vbrowserInfo\x12\x0e\n" +
"\x02ip\x18\x04 \x01(\tR\x02ip\x12!\n" +
"\fbrowser_name\x18\x05 \x01(\tR\vbrowserName\"&\n" +
"\x10SendPasswordResp\x12\x12\n" +
"\x04code\x18\x01 \x01(\x05R\x04code2\x9b\v\n" +
"\x05Chore\x12P\n" +
"\x06Policy\x12\x10.chore.PolicyReq\x1a\x0f.chore.Response\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\x12\x18/api/v3/chore/oss/policy\x12F\n" +
"\x04Test\x12\x0e.chore.TestReq\x1a\x0f.chore.Response\"\x1d\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/api/v3/chore/test\x12_\n" +
@@ -940,7 +1068,8 @@ const file_chore_chore_proto_rawDesc = "" +
"SystemInfo\x12\f.chore.IdReq\x1a\x0f.chore.Response\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/admin/v3/chore/system/info\x12U\n" +
"\vSystemItems\x12\x0f.chore.EmptyReq\x1a\x0f.chore.Response\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/admin/v3/chore/system/items\x12?\n" +
"\fRegionsByIds\x12\x16.chore.RegionsByIdsReq\x1a\x17.chore.RegionsByIdsData\x12o\n" +
"\x1cInternalActionApplyLogCreate\x12&.chore.InternalActionApplyLogCreateReq\x1a'.chore.InternalActionApplyLogCreateDataB\x19Z\x17lone-services/rpc/choreb\x06proto3"
"\x1cInternalActionApplyLogCreate\x12&.chore.InternalActionApplyLogCreateReq\x1a'.chore.InternalActionApplyLogCreateData\x12?\n" +
"\fSendPassword\x12\x16.chore.SendPasswordReq\x1a\x17.chore.SendPasswordRespB\x19Z\x17lone-services/rpc/choreb\x06proto3"
var (
file_chore_chore_proto_rawDescOnce sync.Once
@@ -954,7 +1083,7 @@ func file_chore_chore_proto_rawDescGZIP() []byte {
return file_chore_chore_proto_rawDescData
}
var file_chore_chore_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_chore_chore_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_chore_chore_proto_goTypes = []any{
(*Response)(nil), // 0: chore.Response
(*EmptyReq)(nil), // 1: chore.EmptyReq
@@ -972,6 +1101,8 @@ var file_chore_chore_proto_goTypes = []any{
(*SendSmsReq)(nil), // 13: chore.SendSmsReq
(*InternalActionApplyLogCreateReq)(nil), // 14: chore.InternalActionApplyLogCreateReq
(*InternalActionApplyLogCreateData)(nil), // 15: chore.InternalActionApplyLogCreateData
(*SendPasswordReq)(nil), // 16: chore.SendPasswordReq
(*SendPasswordResp)(nil), // 17: chore.SendPasswordResp
}
var file_chore_chore_proto_depIdxs = []int32{
11, // 0: chore.RegionsByIdsData.items:type_name -> chore.RegionItem
@@ -991,24 +1122,26 @@ var file_chore_chore_proto_depIdxs = []int32{
1, // 14: chore.Chore.SystemItems:input_type -> chore.EmptyReq
10, // 15: chore.Chore.RegionsByIds:input_type -> chore.RegionsByIdsReq
14, // 16: chore.Chore.InternalActionApplyLogCreate:input_type -> chore.InternalActionApplyLogCreateReq
0, // 17: chore.Chore.Policy:output_type -> chore.Response
0, // 18: chore.Chore.Test:output_type -> chore.Response
0, // 19: chore.Chore.DecryptMobile:output_type -> chore.Response
0, // 20: chore.Chore.Regions:output_type -> chore.Response
0, // 21: chore.Chore.SendSms:output_type -> chore.Response
0, // 22: chore.Chore.AnswerItems:output_type -> chore.Response
0, // 23: chore.Chore.AnswerStatus:output_type -> chore.Response
0, // 24: chore.Chore.AnswerInfo:output_type -> chore.Response
0, // 25: chore.Chore.AnswerCreate:output_type -> chore.Response
0, // 26: chore.Chore.AnswerEdit:output_type -> chore.Response
0, // 27: chore.Chore.SystemEdit:output_type -> chore.Response
0, // 28: chore.Chore.SystemStatus:output_type -> chore.Response
0, // 29: chore.Chore.SystemInfo:output_type -> chore.Response
0, // 30: chore.Chore.SystemItems:output_type -> chore.Response
12, // 31: chore.Chore.RegionsByIds:output_type -> chore.RegionsByIdsData
15, // 32: chore.Chore.InternalActionApplyLogCreate:output_type -> chore.InternalActionApplyLogCreateData
17, // [17:33] is the sub-list for method output_type
1, // [1:17] is the sub-list for method input_type
16, // 17: chore.Chore.SendPassword:input_type -> chore.SendPasswordReq
0, // 18: chore.Chore.Policy:output_type -> chore.Response
0, // 19: chore.Chore.Test:output_type -> chore.Response
0, // 20: chore.Chore.DecryptMobile:output_type -> chore.Response
0, // 21: chore.Chore.Regions:output_type -> chore.Response
0, // 22: chore.Chore.SendSms:output_type -> chore.Response
0, // 23: chore.Chore.AnswerItems:output_type -> chore.Response
0, // 24: chore.Chore.AnswerStatus:output_type -> chore.Response
0, // 25: chore.Chore.AnswerInfo:output_type -> chore.Response
0, // 26: chore.Chore.AnswerCreate:output_type -> chore.Response
0, // 27: chore.Chore.AnswerEdit:output_type -> chore.Response
0, // 28: chore.Chore.SystemEdit:output_type -> chore.Response
0, // 29: chore.Chore.SystemStatus:output_type -> chore.Response
0, // 30: chore.Chore.SystemInfo:output_type -> chore.Response
0, // 31: chore.Chore.SystemItems:output_type -> chore.Response
12, // 32: chore.Chore.RegionsByIds:output_type -> chore.RegionsByIdsData
15, // 33: chore.Chore.InternalActionApplyLogCreate:output_type -> chore.InternalActionApplyLogCreateData
17, // 34: chore.Chore.SendPassword:output_type -> chore.SendPasswordResp
18, // [18:35] is the sub-list for method output_type
1, // [1:18] 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
@@ -1025,7 +1158,7 @@ func file_chore_chore_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_chore_chore_proto_rawDesc), len(file_chore_chore_proto_rawDesc)),
NumEnums: 0,
NumMessages: 16,
NumMessages: 18,
NumExtensions: 0,
NumServices: 1,
},
+38 -4
View File
@@ -35,6 +35,7 @@ const (
Chore_SystemItems_FullMethodName = "/chore.Chore/SystemItems"
Chore_RegionsByIds_FullMethodName = "/chore.Chore/RegionsByIds"
Chore_InternalActionApplyLogCreate_FullMethodName = "/chore.Chore/InternalActionApplyLogCreate"
Chore_SendPassword_FullMethodName = "/chore.Chore/SendPassword"
)
// ChoreClient is the client API for Chore service.
@@ -55,10 +56,9 @@ type ChoreClient interface {
SystemStatus(ctx context.Context, in *StatusReq, opts ...grpc.CallOption) (*Response, error)
SystemInfo(ctx context.Context, in *IdReq, opts ...grpc.CallOption) (*Response, error)
SystemItems(ctx context.Context, in *EmptyReq, opts ...grpc.CallOption) (*Response, error)
// 按 id 批量查地区名称
RegionsByIds(ctx context.Context, in *RegionsByIdsReq, opts ...grpc.CallOption) (*RegionsByIdsData, error)
// 服务间:写入编辑申请日志
InternalActionApplyLogCreate(ctx context.Context, in *InternalActionApplyLogCreateReq, opts ...grpc.CallOption) (*InternalActionApplyLogCreateData, error)
SendPassword(ctx context.Context, in *SendPasswordReq, opts ...grpc.CallOption) (*SendPasswordResp, error)
}
type choreClient struct {
@@ -229,6 +229,16 @@ func (c *choreClient) InternalActionApplyLogCreate(ctx context.Context, in *Inte
return out, nil
}
func (c *choreClient) SendPassword(ctx context.Context, in *SendPasswordReq, opts ...grpc.CallOption) (*SendPasswordResp, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SendPasswordResp)
err := c.cc.Invoke(ctx, Chore_SendPassword_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// ChoreServer is the server API for Chore service.
// All implementations must embed UnimplementedChoreServer
// for forward compatibility.
@@ -247,10 +257,9 @@ type ChoreServer interface {
SystemStatus(context.Context, *StatusReq) (*Response, error)
SystemInfo(context.Context, *IdReq) (*Response, error)
SystemItems(context.Context, *EmptyReq) (*Response, error)
// 按 id 批量查地区名称
RegionsByIds(context.Context, *RegionsByIdsReq) (*RegionsByIdsData, error)
// 服务间:写入编辑申请日志
InternalActionApplyLogCreate(context.Context, *InternalActionApplyLogCreateReq) (*InternalActionApplyLogCreateData, error)
SendPassword(context.Context, *SendPasswordReq) (*SendPasswordResp, error)
mustEmbedUnimplementedChoreServer()
}
@@ -309,6 +318,9 @@ func (UnimplementedChoreServer) RegionsByIds(context.Context, *RegionsByIdsReq)
func (UnimplementedChoreServer) InternalActionApplyLogCreate(context.Context, *InternalActionApplyLogCreateReq) (*InternalActionApplyLogCreateData, error) {
return nil, status.Error(codes.Unimplemented, "method InternalActionApplyLogCreate not implemented")
}
func (UnimplementedChoreServer) SendPassword(context.Context, *SendPasswordReq) (*SendPasswordResp, error) {
return nil, status.Error(codes.Unimplemented, "method SendPassword not implemented")
}
func (UnimplementedChoreServer) mustEmbedUnimplementedChoreServer() {}
func (UnimplementedChoreServer) testEmbeddedByValue() {}
@@ -618,6 +630,24 @@ func _Chore_InternalActionApplyLogCreate_Handler(srv interface{}, ctx context.Co
return interceptor(ctx, in, info, handler)
}
func _Chore_SendPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendPasswordReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChoreServer).SendPassword(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Chore_SendPassword_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChoreServer).SendPassword(ctx, req.(*SendPasswordReq))
}
return interceptor(ctx, in, info, handler)
}
// Chore_ServiceDesc is the grpc.ServiceDesc for Chore service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -689,6 +719,10 @@ var Chore_ServiceDesc = grpc.ServiceDesc{
MethodName: "InternalActionApplyLogCreate",
Handler: _Chore_InternalActionApplyLogCreate_Handler,
},
{
MethodName: "SendPassword",
Handler: _Chore_SendPassword_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "chore/chore.proto",