Compare commits
455 Commits
feat-cjy-d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abcd4609c7 | ||
|
|
f10c36d9fa | ||
|
|
6106253c98 | ||
| 7eba8c6293 | |||
| de4020fbbe | |||
| 050a82d732 | |||
| 354d71b53e | |||
| 151324b413 | |||
| 5081b26e25 | |||
| 302a5a40d0 | |||
| badb2eb240 | |||
| 773799e6e0 | |||
| 9a899613c3 | |||
| 60c8855993 | |||
| 9aefcc8f76 | |||
| cfdf82195c | |||
| dc677b4344 | |||
| 41a621ad1e | |||
| ca9ba548ec | |||
| 3380ba541f | |||
|
|
d0ea217581 | ||
|
|
f4a0117c04 | ||
| 9f12454100 | |||
| f7dbcfea06 | |||
| e6459e14a1 | |||
| 7b9f75f27e | |||
| 4f544673bb | |||
| 7ce6994bc4 | |||
| cecf48c37c | |||
| 3c57d024d0 | |||
| 81325137a9 | |||
| 2ba217c315 | |||
| 6b90728831 | |||
| a62549e503 | |||
|
|
5d3c21624c | ||
|
|
68f2de32ca | ||
|
|
efe79ec250 | ||
| d4bf96fef5 | |||
| f57532630c | |||
| 1b5461d005 | |||
| 0947f8533d | |||
|
|
b121c12f7c | ||
| 0562f21c3b | |||
|
|
fcc838ff43 | ||
| f4a3d39df6 | |||
| 50f2c59c0b | |||
| e295a58a43 | |||
| 44dd68fd84 | |||
| 3286f12505 | |||
| cf99647d57 | |||
| 7798f19d2b | |||
| 84e8a6dfda | |||
| 7e1bf3ca60 | |||
| fac24b72ac | |||
| b220a4ea96 | |||
| bcee7cdaf3 | |||
| 312ecca943 | |||
| f8e8f4806b | |||
| a92526a399 | |||
|
|
cfdd16ca47 | ||
| 68de32f89d | |||
| 1bdd0eabb2 | |||
| 751e5c4900 | |||
|
|
d095fdedf4 | ||
| 6ea7c95804 | |||
| b378f85bbd | |||
| ae88e366ee | |||
|
|
a3d942135d | ||
| b2050626b7 | |||
|
|
300a3eaebc | ||
| dfc8ddb9b1 | |||
| a5fa884ebc | |||
| 317d50bad6 | |||
| df21fe78fa | |||
| 3ded74991c | |||
|
|
1d136ceb8f | ||
| 93c085fb94 | |||
| 411c1ccbb3 | |||
| 390d3ea35b | |||
| ab8bdde9d9 | |||
| 3b2a6d059e | |||
|
|
6dde482bb4 | ||
|
|
4f74232571 | ||
|
|
150452f067 | ||
|
|
13caea6d29 | ||
|
|
420d706035 | ||
| aed787f8ca | |||
| d5a81f5c74 | |||
| 5bee5bf5aa | |||
| d8b972be26 | |||
| c17028fbcf | |||
| 3318bd45fc | |||
| 70452455b9 | |||
| 8ba457d1b8 | |||
| 74bfc30e82 | |||
|
|
646b4c7f3f | ||
|
|
e7aae9247c | ||
| dea92bc15c | |||
| 8b63419bd5 | |||
| cb395d19c2 | |||
|
|
28e7e3beba | ||
| 7f583f1a21 | |||
| e8289367bb | |||
| d074c80af4 | |||
| b04fe6fd62 | |||
| a3817266a8 | |||
| c86327c561 | |||
| dd0c81f27c | |||
|
|
0b2f0da573 | ||
| 3776c237de | |||
| 4fa0798449 | |||
|
|
f60487123e | ||
| 2f99d7d64a | |||
|
|
d040842181 | ||
| 6c7a8eb654 | |||
| 026996c311 | |||
| a5ce6f9de3 | |||
|
|
a81a85998b | ||
| 3fa85d3c34 | |||
| d34261a2ea | |||
| 96d5c78b11 | |||
| 07f8953310 | |||
| 3fbf7a5e06 | |||
| d34cef19c3 | |||
|
|
4110717751 | ||
|
|
db25e1bd36 | ||
|
|
a73f208810 | ||
| 7b8e56c0b4 | |||
|
|
2d182775ea | ||
| d3945f920c | |||
| 3591e8bccf | |||
| d464de6210 | |||
| 8939e5d5f9 | |||
|
|
4abc02807b | ||
|
|
f624dd09a4 | ||
|
|
32247c775e | ||
| fc169f7a1f | |||
| 4069fe50c3 | |||
|
|
d1e96e4b2c | ||
|
|
da7d185455 | ||
| 4c1eb8f3db | |||
|
|
057e8e5d15 | ||
|
|
0f52c6d265 | ||
| 0b7cd36b26 | |||
|
|
acfe5f9d3c | ||
| a0f7998a13 | |||
| 658722fe43 | |||
| 1505d88b25 | |||
|
|
f00c818f63 | ||
|
|
df5434ce0c | ||
|
|
a1ee6d3610 | ||
|
|
be5be3c990 | ||
|
|
d43647d0f1 | ||
| 83e9d8266d | |||
| ddf474d98a | |||
| 2284adef8a | |||
| 70a7b0545c | |||
| 3d6094f816 | |||
| d7210e2877 | |||
| 4e9720e14d | |||
| 817c38dffa | |||
| 81d99cbc91 | |||
| fb77d2560f | |||
| 127f030415 | |||
| 09dc29b966 | |||
| 3d2a70966e | |||
| 2cb1301cfa | |||
| 1f1b61e26f | |||
| 5a59be18db | |||
| 4bc97b1a7c | |||
| 79caa97771 | |||
| ad73d0daa2 | |||
| 68ef35a746 | |||
| 367ba4ec79 | |||
| 67dfa1adcc | |||
| 79ed00a421 | |||
| d6c09dcd02 | |||
| 7a016ea15a | |||
| 55828e2577 | |||
| 19fe2ecb49 | |||
| bd7e0e4169 | |||
| 48b3a022eb | |||
| 1233cd04cf | |||
| 32413251a8 | |||
| f02fbb8cbe | |||
| 2aecb54f20 | |||
| ea2c17bf92 | |||
| a956eaffda | |||
| 7bdc1f3dd6 | |||
| 869c1de9ca | |||
| 849c11e87c | |||
| 18e1cda6cc | |||
| 1cb188664f | |||
| 71b26f0839 | |||
| 2735ca3058 | |||
| f296f0e464 | |||
| 57f451de4f | |||
| 8af4ee47eb | |||
| 879b975ae5 | |||
| 7bd66bb589 | |||
| 2c7f66d87f | |||
| 7dfc65639b | |||
| 804b26c686 | |||
| 7022ed69a9 | |||
| 99faf708cb | |||
| b0e7f0bb59 | |||
| 23248725cb | |||
| d4144b8824 | |||
| 5dc3679c3e | |||
| 3faeddec26 | |||
| df569bfd4b | |||
| a11b5b2af5 | |||
| b76c69d235 | |||
| c601d36078 | |||
| 780e1761e1 | |||
|
|
057a8a4c93 | ||
|
|
33d006bbdc | ||
|
|
8f6ab0ae8a | ||
|
|
123f70d4e2 | ||
|
|
03d53a3a0c | ||
|
|
b89e4b1660 | ||
|
|
8fd0965714 | ||
| e5aaa6fc18 | |||
| f5dc00b76f | |||
|
|
6fdea5031e | ||
| 7f082d4889 | |||
| 77bdd47159 | |||
| f88e745ab7 | |||
|
|
0578f53f2f | ||
|
|
07ce962f9e | ||
| 4b48da5d08 | |||
| e8fb81bfe9 | |||
| 4acef959cb | |||
| 4f317ddaef | |||
| 6644880fc8 | |||
| 9219289db1 | |||
| a2967ed09b | |||
| c58fdff8e2 | |||
| 094de973d2 | |||
| 3aff9c3f87 | |||
| 3bedf23d15 | |||
| fda10744f1 | |||
| 0c1a9374b4 | |||
| 80ed35bf51 | |||
| 2e39896064 | |||
| 21322d0345 | |||
| 07eb527d99 | |||
| ef8604530d | |||
| 804fe0fd33 | |||
| 71bf24ae63 | |||
| f1372dfe5a | |||
| 30f2e200be | |||
| faed07145d | |||
| 33f4530d66 | |||
|
|
885dac4abc | ||
|
|
bd827102e0 | ||
| a5d87ba1fd | |||
| eac3bf47f1 | |||
| 13cdbebace | |||
| 3771c7531d | |||
| 21f82f112a | |||
| 30d56f84bf | |||
| d695950af9 | |||
| ab9c65d1d3 | |||
| 2143726f68 | |||
| 89f0ceaca0 | |||
| 55619e87d4 | |||
| 6ed699f096 | |||
| b4e94bd89b | |||
| f5f6a25594 | |||
| ef11b30ad9 | |||
| b0551a2647 | |||
|
|
a2a2ce79a9 | ||
| 3af03a530d | |||
| 0b7aaa6a22 | |||
|
|
f5126fecd9 | ||
| 06cff05621 | |||
| bdd78132a1 | |||
| 3c0457931c | |||
|
|
026da71a7e | ||
| 20c8025f62 | |||
| 0cad3a5400 | |||
| 21284e05a1 | |||
| aa4a6fb435 | |||
|
|
b5aa103a8f | ||
| 8b9a821a35 | |||
| 0270ff4ee8 | |||
| 8d9f8bdd49 | |||
| 683a23267d | |||
| a0b157b28c | |||
| e98ab9e405 | |||
| 158e9981d4 | |||
| 59d3260d5c | |||
| 9b7ae87c08 | |||
| af9568e527 | |||
| 1060cb53de | |||
| caccd1a9ba | |||
| 0cc5f79eec | |||
| 3fd8bbdc8c | |||
| 5b0a97767e | |||
| 313ab6da5c | |||
| da05fbc696 | |||
| 09c8d7a03c | |||
| 4528b313ec | |||
| 25c803f56b | |||
| c205090766 | |||
| 08eb8f0471 | |||
| 8f35608baa | |||
| cffef11751 | |||
| 7be53ae8f6 | |||
| 8bae531534 | |||
| 1a62986a5d | |||
| e240fdaee2 | |||
| 7db26f94a8 | |||
| d150e95f19 | |||
| 8d34f83459 | |||
| bc178ea266 | |||
| 0e5cb8a5ff | |||
|
|
77faa10fe8 | ||
| 6b2c201bc1 | |||
|
|
562530324c | ||
| 85aa48c6ee | |||
|
|
d438f2f671 | ||
| 83fa145fce | |||
| bfc48c04bc | |||
| b3dcbbed8e | |||
| e051b48171 | |||
| 4c9fbefbfe | |||
| 392d695727 | |||
| f3f157fe23 | |||
| 7f7c1cea6d | |||
| f8f937bf80 | |||
| 985a39a75e | |||
| 8cd2bc0c18 | |||
| c85c877f51 | |||
| 2e4bd18833 | |||
| 92b8e6be12 | |||
| d2c0460827 | |||
|
|
82a893f863 | ||
| 4fee0f485c | |||
| b4ae16107e | |||
| 73464a6b6d | |||
|
|
8fa9cd79a4 | ||
|
|
0f9ac2b1f9 | ||
|
|
b38331b8c7 | ||
|
|
af546831b3 | ||
|
|
505412e777 | ||
| 2651af4f88 | |||
| aee8a427bc | |||
| 0c4d0f221b | |||
| 6137604749 | |||
| 7d14505bf4 | |||
| a7ac8beb3a | |||
| 3c5132777c | |||
| 2e15c23aeb | |||
| e424cef29f | |||
| c87f27f432 | |||
| b70814b576 | |||
| 0a035cfeab | |||
| e1fa4468f2 | |||
| 8fedc385c6 | |||
| e1b0c62f28 | |||
| 8f2c73cb46 | |||
| 94f65e9425 | |||
| 387636b31d | |||
| 5e1b72f608 | |||
| 1fd4feefc9 | |||
| c93ae3f602 | |||
|
|
8e890a35c5 | ||
| bcbe312ee1 | |||
| 4d1547fce6 | |||
| 499ab0e7b6 | |||
| 402568ed7e | |||
| 84c030702e | |||
| 7a12e8b3fa | |||
| 9040ebd1ae | |||
| 37a27654fe | |||
| 46860506bc | |||
| 8e0de49db2 | |||
| fe1a373d6d | |||
|
|
b04677d60d | ||
|
|
e28ae14f90 | ||
|
|
fd5126b6e9 | ||
|
|
c1d72f5332 | ||
|
|
d772faac2f | ||
| 62fd2770dc | |||
|
|
099a9186b3 | ||
|
|
9f8885be7e | ||
|
|
560617806d | ||
|
|
53513764c8 | ||
| f5b1cf00e3 | |||
| 1dbf4d22e1 | |||
|
|
582522a146 | ||
|
|
2900dddc2f | ||
| 22c91fa306 | |||
| ecda5bbb12 | |||
| ae78bf8e0b | |||
| c4d0a4c8f7 | |||
|
|
c1b0f4a2c2 | ||
|
|
de7a0778d0 | ||
| b841736421 | |||
| 052c5c70fd | |||
|
|
dcd4f5f0fd | ||
|
|
85936fc340 | ||
| f22f013324 | |||
| 24e9fd7679 | |||
| 1e11204947 | |||
| 024ceb0cba | |||
| 3360808e3c | |||
|
|
66d5d9c114 | ||
|
|
ed9a384b9d | ||
|
|
3fb3b684f4 | ||
|
|
feb176680d | ||
|
|
36905994f9 | ||
|
|
8954360414 | ||
|
|
da43d8e174 | ||
|
|
da8c8a61d2 | ||
|
|
4db2456430 | ||
| 73bfbb10a5 | |||
| 53e5d07591 | |||
|
|
41e7dc9d75 | ||
| 61018d1a3e | |||
|
|
f7fcd96762 | ||
| 8072f9c002 | |||
|
|
dbc231d5f3 | ||
|
|
ec68beffc3 | ||
|
|
e3a14c7857 | ||
|
|
6f8c473114 | ||
|
|
540aeb23ea | ||
| 655543ca9f | |||
| 6dcce05168 | |||
| 549ded9dce | |||
| 456e5dd5a4 | |||
|
|
d8d840185f | ||
|
|
4edbf3f58b | ||
|
|
51d79406db | ||
|
|
dc28c258b9 | ||
|
|
db1e91d888 | ||
|
|
9d2cac4587 | ||
|
|
1bc900c6b1 | ||
|
|
94732f1fb4 | ||
|
|
c3cfc2b6e0 | ||
|
|
98c1476944 | ||
|
|
0119505418 | ||
|
|
663c8e235c | ||
|
|
9486aad885 | ||
|
|
c4aca47508 | ||
|
|
7aef40402e | ||
|
|
722d05bd7a | ||
|
|
d82f148687 | ||
|
|
9492a186e2 | ||
| e2cf0be0cb | |||
| 4c602f780f | |||
| 39dbc3a9a0 | |||
| 0a69aa8013 |
@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
|
||||
17315042007 测试-陆嘉骅2 视频
|
||||
13111111112 测试-陆嘉骅2 视频
|
||||
|
||||
13196788678 Aa.123456 脚本
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -66,6 +66,9 @@ service AccountFiee {
|
||||
rpc SendNationMsg (SendNationMsgRequest) returns (SendMsgStatusResponse) {} //发送境外国际短信验证码 --艺术商城
|
||||
rpc VerifySliderStatus(VerifySliderStatusRequest) returns (VerifySliderStatusResponse) {}// 验证滑块验证码状态
|
||||
rpc SendNationTemplateMsg (SendNationMsgRequest) returns (SendMsgStatusResponse) {} //发送境外国际短信验证码 --艺术商城
|
||||
rpc GetInviterInfo(InviterInfoRequest) returns(InviterInfoResponse) {} //获取邀请人信息
|
||||
rpc GetInviterList(InviterListRequest) returns(InviterListResponse) {} //获取邀请人信息
|
||||
rpc WriteOff (WriteOffRequest) returns (RemoveResponse) {} //用户注销
|
||||
|
||||
|
||||
rpc CreateUserAndRealName (CreateUserAndRealNameRequest) returns (CreateUserAndRealNameResponse) {}// 创建用户并实名, 自动导入
|
||||
@ -101,7 +104,21 @@ service AccountFiee {
|
||||
rpc GetChatAutoReplyRulerDetail ( GetChatAutoReplyRulerByIdRequest )returns( ChatAutoReplyRulerData ){} //查询自动回复规则详情
|
||||
rpc GetChatAutoReplyRulerList ( GetChatAutoReplyRulerListRequest )returns( GetChatAutoReplyRulerListResp ){} //查询自动回复规则列表
|
||||
}
|
||||
|
||||
message InviterListRequest{
|
||||
repeated uint64 ids =1;
|
||||
}
|
||||
message InviterListResponse{
|
||||
repeated InviterInfoResponse list = 1;
|
||||
}
|
||||
message InviterInfoRequest{
|
||||
string code = 1;
|
||||
}
|
||||
message InviterInfoResponse{
|
||||
uint64 id = 1;
|
||||
string code = 2;
|
||||
string name = 3;
|
||||
string telNum = 4;
|
||||
}
|
||||
message VerifySliderStatusRequest {
|
||||
string nonceStr = 1;
|
||||
}
|
||||
@ -183,6 +200,11 @@ message UserListInfo{
|
||||
string idNumber = 21;
|
||||
string dateOfBirth = 22;
|
||||
string age = 23;
|
||||
string email = 24;
|
||||
string AbroadTelAreaCode = 25;
|
||||
string AbroadTel = 26;
|
||||
string inviterName = 27;
|
||||
string inviterCode = 28;
|
||||
}
|
||||
message UserListRequest{
|
||||
string domain = 1;
|
||||
@ -221,6 +243,11 @@ message UserInfoResponse{
|
||||
string telAreaCode = 19;
|
||||
string idNumber = 20;
|
||||
string dateOfBirth = 21;
|
||||
string email = 22;
|
||||
string AbroadTelAreaCode = 23;
|
||||
string AbroadTel = 24;
|
||||
uint64 inviterId = 25;
|
||||
|
||||
}
|
||||
message RealNameResponse{
|
||||
uint64 id = 1;
|
||||
@ -500,20 +527,6 @@ message RemoveRequest {
|
||||
}
|
||||
message WriteOffRequest{
|
||||
uint64 id = 1;
|
||||
string domain = 2;
|
||||
uint64 userId = 3;
|
||||
string tel = 4;
|
||||
string jonNum = 5;
|
||||
string userName = 6;
|
||||
string enterDate = 7;
|
||||
string positionName =8;
|
||||
uint64 positionId = 9;
|
||||
string siteName = 10;
|
||||
uint64 siteId =11;
|
||||
string authUrl =12;
|
||||
string type =13;
|
||||
uint32 status =14;
|
||||
string submitDate=15;
|
||||
}
|
||||
message WriteOffListRequest{
|
||||
uint64 page = 1;
|
||||
@ -541,6 +554,9 @@ message UpdateRequest {
|
||||
string Domain = 2 [json_name = "domain"];
|
||||
string Language = 3 [json_name = "language"];
|
||||
string NickName = 4 [json_name = "nickName"];
|
||||
string Email = 5 [json_name = "email"];
|
||||
string AbroadTel = 6 [json_name = "abroadTel"];
|
||||
string AbroadTelAreaCode = 7 [json_name = "abroadTelAreaCode"];
|
||||
}
|
||||
|
||||
message Operator {
|
||||
@ -632,6 +648,8 @@ message RegistRequest {
|
||||
string telAreaCode = 5;
|
||||
string language = 6;
|
||||
string nickName = 7;
|
||||
uint64 inviterID = 8;
|
||||
string inviterCode = 9;
|
||||
}
|
||||
|
||||
message LoginRequest {
|
||||
@ -709,6 +727,7 @@ message AccountInfo {
|
||||
string updatedAt = 41;
|
||||
string SecurityCode = 42 [json_name = "securityCode"];
|
||||
string BlockAddr = 43 [json_name = "blockAddr"];
|
||||
bool WriteOff = 44 [json_name = "writeOff"];
|
||||
}
|
||||
|
||||
message UserInfoV2 {
|
||||
|
||||
@ -17,6 +17,25 @@ var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *InviterListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *InviterListResponse) Validate() error {
|
||||
for _, item := range this.List {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("List", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *InviterInfoRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *InviterInfoResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *VerifySliderStatusRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -70,6 +70,9 @@ type AccountFieeClient interface {
|
||||
SendNationMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment)
|
||||
VerifySliderStatus(ctx context.Context, in *VerifySliderStatusRequest, opts ...grpc_go.CallOption) (*VerifySliderStatusResponse, common.ErrorWithAttachment)
|
||||
SendNationTemplateMsg(ctx context.Context, in *SendNationMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment)
|
||||
GetInviterInfo(ctx context.Context, in *InviterInfoRequest, opts ...grpc_go.CallOption) (*InviterInfoResponse, common.ErrorWithAttachment)
|
||||
GetInviterList(ctx context.Context, in *InviterListRequest, opts ...grpc_go.CallOption) (*InviterListResponse, common.ErrorWithAttachment)
|
||||
WriteOff(ctx context.Context, in *WriteOffRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment)
|
||||
CreateUserAndRealName(ctx context.Context, in *CreateUserAndRealNameRequest, opts ...grpc_go.CallOption) (*CreateUserAndRealNameResponse, common.ErrorWithAttachment)
|
||||
// submit info
|
||||
SaveSubmitInfo(ctx context.Context, in *SubmitInfoRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
@ -148,6 +151,9 @@ type AccountFieeClientImpl struct {
|
||||
SendNationMsg func(ctx context.Context, in *SendNationMsgRequest) (*SendMsgStatusResponse, error)
|
||||
VerifySliderStatus func(ctx context.Context, in *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error)
|
||||
SendNationTemplateMsg func(ctx context.Context, in *SendNationMsgRequest) (*SendMsgStatusResponse, error)
|
||||
GetInviterInfo func(ctx context.Context, in *InviterInfoRequest) (*InviterInfoResponse, error)
|
||||
GetInviterList func(ctx context.Context, in *InviterListRequest) (*InviterListResponse, error)
|
||||
WriteOff func(ctx context.Context, in *WriteOffRequest) (*RemoveResponse, error)
|
||||
CreateUserAndRealName func(ctx context.Context, in *CreateUserAndRealNameRequest) (*CreateUserAndRealNameResponse, error)
|
||||
SaveSubmitInfo func(ctx context.Context, in *SubmitInfoRequest) (*CommonResponse, error)
|
||||
CreateChatUser func(ctx context.Context, in *ChatUserData) (*CreateChatUserResp, error)
|
||||
@ -436,6 +442,24 @@ func (c *accountFieeClient) SendNationTemplateMsg(ctx context.Context, in *SendN
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNationTemplateMsg", in, out)
|
||||
}
|
||||
|
||||
func (c *accountFieeClient) GetInviterInfo(ctx context.Context, in *InviterInfoRequest, opts ...grpc_go.CallOption) (*InviterInfoResponse, common.ErrorWithAttachment) {
|
||||
out := new(InviterInfoResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetInviterInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *accountFieeClient) GetInviterList(ctx context.Context, in *InviterListRequest, opts ...grpc_go.CallOption) (*InviterListResponse, common.ErrorWithAttachment) {
|
||||
out := new(InviterListResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetInviterList", in, out)
|
||||
}
|
||||
|
||||
func (c *accountFieeClient) WriteOff(ctx context.Context, in *WriteOffRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) {
|
||||
out := new(RemoveResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WriteOff", in, out)
|
||||
}
|
||||
|
||||
func (c *accountFieeClient) CreateUserAndRealName(ctx context.Context, in *CreateUserAndRealNameRequest, opts ...grpc_go.CallOption) (*CreateUserAndRealNameResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateUserAndRealNameResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -650,6 +674,9 @@ type AccountFieeServer interface {
|
||||
SendNationMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error)
|
||||
VerifySliderStatus(context.Context, *VerifySliderStatusRequest) (*VerifySliderStatusResponse, error)
|
||||
SendNationTemplateMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error)
|
||||
GetInviterInfo(context.Context, *InviterInfoRequest) (*InviterInfoResponse, error)
|
||||
GetInviterList(context.Context, *InviterListRequest) (*InviterListResponse, error)
|
||||
WriteOff(context.Context, *WriteOffRequest) (*RemoveResponse, error)
|
||||
CreateUserAndRealName(context.Context, *CreateUserAndRealNameRequest) (*CreateUserAndRealNameResponse, error)
|
||||
// submit info
|
||||
SaveSubmitInfo(context.Context, *SubmitInfoRequest) (*CommonResponse, error)
|
||||
@ -811,6 +838,15 @@ func (UnimplementedAccountFieeServer) VerifySliderStatus(context.Context, *Verif
|
||||
func (UnimplementedAccountFieeServer) SendNationTemplateMsg(context.Context, *SendNationMsgRequest) (*SendMsgStatusResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SendNationTemplateMsg not implemented")
|
||||
}
|
||||
func (UnimplementedAccountFieeServer) GetInviterInfo(context.Context, *InviterInfoRequest) (*InviterInfoResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetInviterInfo not implemented")
|
||||
}
|
||||
func (UnimplementedAccountFieeServer) GetInviterList(context.Context, *InviterListRequest) (*InviterListResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetInviterList not implemented")
|
||||
}
|
||||
func (UnimplementedAccountFieeServer) WriteOff(context.Context, *WriteOffRequest) (*RemoveResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method WriteOff not implemented")
|
||||
}
|
||||
func (UnimplementedAccountFieeServer) CreateUserAndRealName(context.Context, *CreateUserAndRealNameRequest) (*CreateUserAndRealNameResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateUserAndRealName not implemented")
|
||||
}
|
||||
@ -2112,6 +2148,93 @@ func _AccountFiee_SendNationTemplateMsg_Handler(srv interface{}, ctx context.Con
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AccountFiee_GetInviterInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(InviterInfoRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetInviterInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AccountFiee_GetInviterList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(InviterListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetInviterList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AccountFiee_WriteOff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(WriteOffRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("WriteOff", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _AccountFiee_CreateUserAndRealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateUserAndRealNameRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -3095,6 +3218,18 @@ var AccountFiee_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "SendNationTemplateMsg",
|
||||
Handler: _AccountFiee_SendNationTemplateMsg_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetInviterInfo",
|
||||
Handler: _AccountFiee_GetInviterInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetInviterList",
|
||||
Handler: _AccountFiee_GetInviterList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "WriteOff",
|
||||
Handler: _AccountFiee_WriteOff_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateUserAndRealName",
|
||||
Handler: _AccountFiee_CreateUserAndRealName_Handler,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -7,8 +7,8 @@ import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
_ "github.com/mwitkow/go-proto-validators"
|
||||
_ "google.golang.org/protobuf/types/descriptorpb"
|
||||
_ "github.com/mwitkow/go-proto-validators"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -17,6 +17,32 @@ var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *QueryTheOrderSnapshotInformationReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *QueryTheOrderSnapshotInformationResp) Validate() error {
|
||||
for _, item := range this.BundleOrder {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("BundleOrder", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, item := range this.AddBundleOrder {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("AddBundleOrder", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ServiceInformation) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ReSignTheContractRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteValueAddServiceRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
@ -714,6 +740,9 @@ func (this *SetPendingTaskLayoutReq) Validate() error {
|
||||
func (this *SetPendingTaskLayoutResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateTaskWorkLogRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *MetricsBusinessReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -50,6 +50,7 @@ type BundleClient interface {
|
||||
OrderRecordsListV2(ctx context.Context, in *OrderRecordsRequestV2, opts ...grpc_go.CallOption) (*OrderRecordsResponseV2, common.ErrorWithAttachment)
|
||||
OrderListByOrderNo(ctx context.Context, in *OrderInfoByOrderNoRequest, opts ...grpc_go.CallOption) (*OrderInfoByOrderNoResp, common.ErrorWithAttachment)
|
||||
OnlyAddValueListByOrderNo(ctx context.Context, in *OnlyAddValueListByOrderNoRequest, opts ...grpc_go.CallOption) (*OnlyAddValueListByOrderNoResp, common.ErrorWithAttachment)
|
||||
ReSignTheContract(ctx context.Context, in *ReSignTheContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
// 增值套餐
|
||||
CreateValueAddBundle(ctx context.Context, in *CreateValueAddBundleRequest, opts ...grpc_go.CallOption) (*CreateValueAddBundleResponse, common.ErrorWithAttachment)
|
||||
ValueAddBundleList(ctx context.Context, in *ValueAddBundleListRequest, opts ...grpc_go.CallOption) (*ValueAddBundleListResponse, common.ErrorWithAttachment)
|
||||
@ -109,6 +110,7 @@ type BundleClient interface {
|
||||
GetPendingAssign(ctx context.Context, in *PendingAssignRequest, opts ...grpc_go.CallOption) (*PendingAssignResponse, common.ErrorWithAttachment)
|
||||
RevertTaskCompletionByUUIDItem(ctx context.Context, in *RevertTaskCompletionByUUIDItemRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment)
|
||||
AddHiddenTaskAssignee(ctx context.Context, in *AddHiddenTaskAssigneeRequest, opts ...grpc_go.CallOption) (*ComResponse, common.ErrorWithAttachment)
|
||||
CreateTaskWorkLog(ctx context.Context, in *CreateTaskWorkLogRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
// 数据指标
|
||||
MetricsBusiness(ctx context.Context, in *MetricsBusinessReq, opts ...grpc_go.CallOption) (*MetricsBusinessResp, common.ErrorWithAttachment)
|
||||
MetricsOperatingCreate(ctx context.Context, in *MetricsOperatingCreateReq, opts ...grpc_go.CallOption) (*MetricsOperatingCreateResp, common.ErrorWithAttachment)
|
||||
@ -116,6 +118,7 @@ type BundleClient interface {
|
||||
MetricsBundlePurchaseExport(ctx context.Context, in *MetricsBundlePurchaseExportReq, opts ...grpc_go.CallOption) (*MetricsBundlePurchaseExportResp, common.ErrorWithAttachment)
|
||||
MetricsArtistAccountExport(ctx context.Context, in *MetricsArtistAccountExportReq, opts ...grpc_go.CallOption) (*MetricsArtistAccountExportResp, common.ErrorWithAttachment)
|
||||
MetricsVideoSubmitExport(ctx context.Context, in *MetricsVideoSubmitExportReq, opts ...grpc_go.CallOption) (*MetricsVideoSubmitExportResp, common.ErrorWithAttachment)
|
||||
QueryTheOrderSnapshotInformation(ctx context.Context, in *QueryTheOrderSnapshotInformationReq, opts ...grpc_go.CallOption) (*QueryTheOrderSnapshotInformationResp, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type bundleClient struct {
|
||||
@ -145,6 +148,7 @@ type BundleClientImpl struct {
|
||||
OrderRecordsListV2 func(ctx context.Context, in *OrderRecordsRequestV2) (*OrderRecordsResponseV2, error)
|
||||
OrderListByOrderNo func(ctx context.Context, in *OrderInfoByOrderNoRequest) (*OrderInfoByOrderNoResp, error)
|
||||
OnlyAddValueListByOrderNo func(ctx context.Context, in *OnlyAddValueListByOrderNoRequest) (*OnlyAddValueListByOrderNoResp, error)
|
||||
ReSignTheContract func(ctx context.Context, in *ReSignTheContractRequest) (*CommonResponse, error)
|
||||
CreateValueAddBundle func(ctx context.Context, in *CreateValueAddBundleRequest) (*CreateValueAddBundleResponse, error)
|
||||
ValueAddBundleList func(ctx context.Context, in *ValueAddBundleListRequest) (*ValueAddBundleListResponse, error)
|
||||
ValueAddBundleDetail func(ctx context.Context, in *ValueAddBundleDetailRequest) (*ValueAddBundleDetailResponse, error)
|
||||
@ -197,12 +201,14 @@ type BundleClientImpl struct {
|
||||
GetPendingAssign func(ctx context.Context, in *PendingAssignRequest) (*PendingAssignResponse, error)
|
||||
RevertTaskCompletionByUUIDItem func(ctx context.Context, in *RevertTaskCompletionByUUIDItemRequest) (*ComResponse, error)
|
||||
AddHiddenTaskAssignee func(ctx context.Context, in *AddHiddenTaskAssigneeRequest) (*ComResponse, error)
|
||||
CreateTaskWorkLog func(ctx context.Context, in *CreateTaskWorkLogRequest) (*CommonResponse, error)
|
||||
MetricsBusiness func(ctx context.Context, in *MetricsBusinessReq) (*MetricsBusinessResp, error)
|
||||
MetricsOperatingCreate func(ctx context.Context, in *MetricsOperatingCreateReq) (*MetricsOperatingCreateResp, error)
|
||||
MetricsOperatingStatus func(ctx context.Context, in *MetricsOperatingStatusReq) (*MetricsOperatingStatusResp, error)
|
||||
MetricsBundlePurchaseExport func(ctx context.Context, in *MetricsBundlePurchaseExportReq) (*MetricsBundlePurchaseExportResp, error)
|
||||
MetricsArtistAccountExport func(ctx context.Context, in *MetricsArtistAccountExportReq) (*MetricsArtistAccountExportResp, error)
|
||||
MetricsVideoSubmitExport func(ctx context.Context, in *MetricsVideoSubmitExportReq) (*MetricsVideoSubmitExportResp, error)
|
||||
QueryTheOrderSnapshotInformation func(ctx context.Context, in *QueryTheOrderSnapshotInformationReq) (*QueryTheOrderSnapshotInformationResp, error)
|
||||
}
|
||||
|
||||
func (c *BundleClientImpl) GetDubboStub(cc *triple.TripleConn) BundleClient {
|
||||
@ -349,6 +355,12 @@ func (c *bundleClient) OnlyAddValueListByOrderNo(ctx context.Context, in *OnlyAd
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlyAddValueListByOrderNo", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) ReSignTheContract(ctx context.Context, in *ReSignTheContractRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ReSignTheContract", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) CreateValueAddBundle(ctx context.Context, in *CreateValueAddBundleRequest, opts ...grpc_go.CallOption) (*CreateValueAddBundleResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateValueAddBundleResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -661,6 +673,12 @@ func (c *bundleClient) AddHiddenTaskAssignee(ctx context.Context, in *AddHiddenT
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddHiddenTaskAssignee", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) CreateTaskWorkLog(ctx context.Context, in *CreateTaskWorkLogRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateTaskWorkLog", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) MetricsBusiness(ctx context.Context, in *MetricsBusinessReq, opts ...grpc_go.CallOption) (*MetricsBusinessResp, common.ErrorWithAttachment) {
|
||||
out := new(MetricsBusinessResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -697,6 +715,12 @@ func (c *bundleClient) MetricsVideoSubmitExport(ctx context.Context, in *Metrics
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MetricsVideoSubmitExport", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) QueryTheOrderSnapshotInformation(ctx context.Context, in *QueryTheOrderSnapshotInformationReq, opts ...grpc_go.CallOption) (*QueryTheOrderSnapshotInformationResp, common.ErrorWithAttachment) {
|
||||
out := new(QueryTheOrderSnapshotInformationResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryTheOrderSnapshotInformation", in, out)
|
||||
}
|
||||
|
||||
// BundleServer is the server API for Bundle service.
|
||||
// All implementations must embed UnimplementedBundleServer
|
||||
// for forward compatibility
|
||||
@ -723,6 +747,7 @@ type BundleServer interface {
|
||||
OrderRecordsListV2(context.Context, *OrderRecordsRequestV2) (*OrderRecordsResponseV2, error)
|
||||
OrderListByOrderNo(context.Context, *OrderInfoByOrderNoRequest) (*OrderInfoByOrderNoResp, error)
|
||||
OnlyAddValueListByOrderNo(context.Context, *OnlyAddValueListByOrderNoRequest) (*OnlyAddValueListByOrderNoResp, error)
|
||||
ReSignTheContract(context.Context, *ReSignTheContractRequest) (*CommonResponse, error)
|
||||
// 增值套餐
|
||||
CreateValueAddBundle(context.Context, *CreateValueAddBundleRequest) (*CreateValueAddBundleResponse, error)
|
||||
ValueAddBundleList(context.Context, *ValueAddBundleListRequest) (*ValueAddBundleListResponse, error)
|
||||
@ -782,6 +807,7 @@ type BundleServer interface {
|
||||
GetPendingAssign(context.Context, *PendingAssignRequest) (*PendingAssignResponse, error)
|
||||
RevertTaskCompletionByUUIDItem(context.Context, *RevertTaskCompletionByUUIDItemRequest) (*ComResponse, error)
|
||||
AddHiddenTaskAssignee(context.Context, *AddHiddenTaskAssigneeRequest) (*ComResponse, error)
|
||||
CreateTaskWorkLog(context.Context, *CreateTaskWorkLogRequest) (*CommonResponse, error)
|
||||
// 数据指标
|
||||
MetricsBusiness(context.Context, *MetricsBusinessReq) (*MetricsBusinessResp, error)
|
||||
MetricsOperatingCreate(context.Context, *MetricsOperatingCreateReq) (*MetricsOperatingCreateResp, error)
|
||||
@ -789,6 +815,7 @@ type BundleServer interface {
|
||||
MetricsBundlePurchaseExport(context.Context, *MetricsBundlePurchaseExportReq) (*MetricsBundlePurchaseExportResp, error)
|
||||
MetricsArtistAccountExport(context.Context, *MetricsArtistAccountExportReq) (*MetricsArtistAccountExportResp, error)
|
||||
MetricsVideoSubmitExport(context.Context, *MetricsVideoSubmitExportReq) (*MetricsVideoSubmitExportResp, error)
|
||||
QueryTheOrderSnapshotInformation(context.Context, *QueryTheOrderSnapshotInformationReq) (*QueryTheOrderSnapshotInformationResp, error)
|
||||
mustEmbedUnimplementedBundleServer()
|
||||
}
|
||||
|
||||
@ -863,6 +890,9 @@ func (UnimplementedBundleServer) OrderListByOrderNo(context.Context, *OrderInfoB
|
||||
func (UnimplementedBundleServer) OnlyAddValueListByOrderNo(context.Context, *OnlyAddValueListByOrderNoRequest) (*OnlyAddValueListByOrderNoResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method OnlyAddValueListByOrderNo not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) ReSignTheContract(context.Context, *ReSignTheContractRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ReSignTheContract not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) CreateValueAddBundle(context.Context, *CreateValueAddBundleRequest) (*CreateValueAddBundleResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateValueAddBundle not implemented")
|
||||
}
|
||||
@ -1019,6 +1049,9 @@ func (UnimplementedBundleServer) RevertTaskCompletionByUUIDItem(context.Context,
|
||||
func (UnimplementedBundleServer) AddHiddenTaskAssignee(context.Context, *AddHiddenTaskAssigneeRequest) (*ComResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddHiddenTaskAssignee not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) CreateTaskWorkLog(context.Context, *CreateTaskWorkLogRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateTaskWorkLog not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) MetricsBusiness(context.Context, *MetricsBusinessReq) (*MetricsBusinessResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MetricsBusiness not implemented")
|
||||
}
|
||||
@ -1037,6 +1070,9 @@ func (UnimplementedBundleServer) MetricsArtistAccountExport(context.Context, *Me
|
||||
func (UnimplementedBundleServer) MetricsVideoSubmitExport(context.Context, *MetricsVideoSubmitExportReq) (*MetricsVideoSubmitExportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MetricsVideoSubmitExport not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) QueryTheOrderSnapshotInformation(context.Context, *QueryTheOrderSnapshotInformationReq) (*QueryTheOrderSnapshotInformationResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method QueryTheOrderSnapshotInformation not implemented")
|
||||
}
|
||||
func (s *UnimplementedBundleServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
@ -1703,6 +1739,35 @@ func _Bundle_OnlyAddValueListByOrderNo_Handler(srv interface{}, ctx context.Cont
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_ReSignTheContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ReSignTheContractRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("ReSignTheContract", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_CreateValueAddBundle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateValueAddBundleRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -3211,6 +3276,35 @@ func _Bundle_AddHiddenTaskAssignee_Handler(srv interface{}, ctx context.Context,
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_CreateTaskWorkLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateTaskWorkLogRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("CreateTaskWorkLog", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_MetricsBusiness_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(MetricsBusinessReq)
|
||||
if err := dec(in); err != nil {
|
||||
@ -3385,6 +3479,35 @@ func _Bundle_MetricsVideoSubmitExport_Handler(srv interface{}, ctx context.Conte
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_QueryTheOrderSnapshotInformation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(QueryTheOrderSnapshotInformationReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("QueryTheOrderSnapshotInformation", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// Bundle_ServiceDesc is the grpc_go.ServiceDesc for Bundle service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
@ -3480,6 +3603,10 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "OnlyAddValueListByOrderNo",
|
||||
Handler: _Bundle_OnlyAddValueListByOrderNo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ReSignTheContract",
|
||||
Handler: _Bundle_ReSignTheContract_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateValueAddBundle",
|
||||
Handler: _Bundle_CreateValueAddBundle_Handler,
|
||||
@ -3688,6 +3815,10 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "AddHiddenTaskAssignee",
|
||||
Handler: _Bundle_AddHiddenTaskAssignee_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateTaskWorkLog",
|
||||
Handler: _Bundle_CreateTaskWorkLog_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "MetricsBusiness",
|
||||
Handler: _Bundle_MetricsBusiness_Handler,
|
||||
@ -3712,6 +3843,10 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "MetricsVideoSubmitExport",
|
||||
Handler: _Bundle_MetricsVideoSubmitExport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "QueryTheOrderSnapshotInformation",
|
||||
Handler: _Bundle_QueryTheOrderSnapshotInformation_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "pb/bundle.proto",
|
||||
|
||||
11478
api/cast/cast.pb.go
11478
api/cast/cast.pb.go
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2386
api/cron/cron.pb.go
Normal file
2386
api/cron/cron.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
169
api/cron/cron.validator.pb.go
Normal file
169
api/cron/cron.validator.pb.go
Normal file
@ -0,0 +1,169 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: pb/cron.proto
|
||||
|
||||
package cron
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *CommonIDRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CommonResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ScheduleTask) Validate() error {
|
||||
if this.TaskDetail != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TaskDetail); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("TaskDetail", err)
|
||||
}
|
||||
}
|
||||
for _, item := range this.ExecutionRecords {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExecutionRecords", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *TaskDetail) Validate() error {
|
||||
for _, item := range this.Artists {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Artists", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ArtistInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ExecutionRecord) Validate() error {
|
||||
for _, item := range this.ExecutionResults {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ExecutionResults", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ExecutionResult) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateScheduleTaskRequest) Validate() error {
|
||||
if this.TaskDetail != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TaskDetail); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("TaskDetail", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *TaskDetailRequest) Validate() error {
|
||||
for _, item := range this.Artists {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Artists", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateScheduleTaskResponse) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateScheduleTaskRequest) Validate() error {
|
||||
if this.TaskDetail != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.TaskDetail); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("TaskDetail", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateScheduleTaskRequestTaskDetail) Validate() error {
|
||||
for _, item := range this.Artists {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Artists", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateScheduleTaskResponse) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetListScheduleTaskRequest) Validate() error {
|
||||
// Validation of proto3 map<> fields is unsupported.
|
||||
return nil
|
||||
}
|
||||
func (this *GetListScheduleTaskResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetListExecutionRecordRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetListExecutionRecordResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetListExecutionResultRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetListExecutionResultResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *TaskStatus) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetScheduleTaskStatusResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
508
api/cron/cron_triple.pb.go
Normal file
508
api/cron/cron_triple.pb.go
Normal file
@ -0,0 +1,508 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v6.32.0
|
||||
// source: pb/cron.proto
|
||||
|
||||
package cron
|
||||
|
||||
import (
|
||||
context "context"
|
||||
protocol "dubbo.apache.org/dubbo-go/v3/protocol"
|
||||
dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
|
||||
invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
|
||||
grpc_go "github.com/dubbogo/grpc-go"
|
||||
codes "github.com/dubbogo/grpc-go/codes"
|
||||
metadata "github.com/dubbogo/grpc-go/metadata"
|
||||
status "github.com/dubbogo/grpc-go/status"
|
||||
common "github.com/dubbogo/triple/pkg/common"
|
||||
constant "github.com/dubbogo/triple/pkg/common/constant"
|
||||
triple "github.com/dubbogo/triple/pkg/triple"
|
||||
emptypb "google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc_go.SupportPackageIsVersion7
|
||||
|
||||
// CronClient is the client API for Cron service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type CronClient interface {
|
||||
CreateScheduleTask(ctx context.Context, in *CreateScheduleTaskRequest, opts ...grpc_go.CallOption) (*CreateScheduleTaskResponse, common.ErrorWithAttachment)
|
||||
UpdateScheduleTask(ctx context.Context, in *UpdateScheduleTaskRequest, opts ...grpc_go.CallOption) (*UpdateScheduleTaskResponse, common.ErrorWithAttachment)
|
||||
GetListScheduleTask(ctx context.Context, in *GetListScheduleTaskRequest, opts ...grpc_go.CallOption) (*GetListScheduleTaskResponse, common.ErrorWithAttachment)
|
||||
GetListExecutionRecord(ctx context.Context, in *GetListExecutionRecordRequest, opts ...grpc_go.CallOption) (*GetListExecutionRecordResponse, common.ErrorWithAttachment)
|
||||
GetListExecutionResult(ctx context.Context, in *GetListExecutionResultRequest, opts ...grpc_go.CallOption) (*GetListExecutionResultResponse, common.ErrorWithAttachment)
|
||||
PauseScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
StartScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
DeleteScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
GetScheduleTaskStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc_go.CallOption) (*GetScheduleTaskStatusResponse, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type cronClient struct {
|
||||
cc *triple.TripleConn
|
||||
}
|
||||
|
||||
type CronClientImpl struct {
|
||||
CreateScheduleTask func(ctx context.Context, in *CreateScheduleTaskRequest) (*CreateScheduleTaskResponse, error)
|
||||
UpdateScheduleTask func(ctx context.Context, in *UpdateScheduleTaskRequest) (*UpdateScheduleTaskResponse, error)
|
||||
GetListScheduleTask func(ctx context.Context, in *GetListScheduleTaskRequest) (*GetListScheduleTaskResponse, error)
|
||||
GetListExecutionRecord func(ctx context.Context, in *GetListExecutionRecordRequest) (*GetListExecutionRecordResponse, error)
|
||||
GetListExecutionResult func(ctx context.Context, in *GetListExecutionResultRequest) (*GetListExecutionResultResponse, error)
|
||||
PauseScheduleTask func(ctx context.Context, in *CommonIDRequest) (*CommonResponse, error)
|
||||
StartScheduleTask func(ctx context.Context, in *CommonIDRequest) (*CommonResponse, error)
|
||||
DeleteScheduleTask func(ctx context.Context, in *CommonIDRequest) (*CommonResponse, error)
|
||||
GetScheduleTaskStatus func(ctx context.Context, in *emptypb.Empty) (*GetScheduleTaskStatusResponse, error)
|
||||
}
|
||||
|
||||
func (c *CronClientImpl) GetDubboStub(cc *triple.TripleConn) CronClient {
|
||||
return NewCronClient(cc)
|
||||
}
|
||||
|
||||
func (c *CronClientImpl) XXX_InterfaceName() string {
|
||||
return "cron.Cron"
|
||||
}
|
||||
|
||||
func NewCronClient(cc *triple.TripleConn) CronClient {
|
||||
return &cronClient{cc}
|
||||
}
|
||||
|
||||
func (c *cronClient) CreateScheduleTask(ctx context.Context, in *CreateScheduleTaskRequest, opts ...grpc_go.CallOption) (*CreateScheduleTaskResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateScheduleTaskResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) UpdateScheduleTask(ctx context.Context, in *UpdateScheduleTaskRequest, opts ...grpc_go.CallOption) (*UpdateScheduleTaskResponse, common.ErrorWithAttachment) {
|
||||
out := new(UpdateScheduleTaskResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) GetListScheduleTask(ctx context.Context, in *GetListScheduleTaskRequest, opts ...grpc_go.CallOption) (*GetListScheduleTaskResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetListScheduleTaskResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetListScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) GetListExecutionRecord(ctx context.Context, in *GetListExecutionRecordRequest, opts ...grpc_go.CallOption) (*GetListExecutionRecordResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetListExecutionRecordResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetListExecutionRecord", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) GetListExecutionResult(ctx context.Context, in *GetListExecutionResultRequest, opts ...grpc_go.CallOption) (*GetListExecutionResultResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetListExecutionResultResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetListExecutionResult", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) PauseScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/PauseScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) StartScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/StartScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) DeleteScheduleTask(ctx context.Context, in *CommonIDRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteScheduleTask", in, out)
|
||||
}
|
||||
|
||||
func (c *cronClient) GetScheduleTaskStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc_go.CallOption) (*GetScheduleTaskStatusResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetScheduleTaskStatusResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetScheduleTaskStatus", in, out)
|
||||
}
|
||||
|
||||
// CronServer is the server API for Cron service.
|
||||
// All implementations must embed UnimplementedCronServer
|
||||
// for forward compatibility
|
||||
type CronServer interface {
|
||||
CreateScheduleTask(context.Context, *CreateScheduleTaskRequest) (*CreateScheduleTaskResponse, error)
|
||||
UpdateScheduleTask(context.Context, *UpdateScheduleTaskRequest) (*UpdateScheduleTaskResponse, error)
|
||||
GetListScheduleTask(context.Context, *GetListScheduleTaskRequest) (*GetListScheduleTaskResponse, error)
|
||||
GetListExecutionRecord(context.Context, *GetListExecutionRecordRequest) (*GetListExecutionRecordResponse, error)
|
||||
GetListExecutionResult(context.Context, *GetListExecutionResultRequest) (*GetListExecutionResultResponse, error)
|
||||
PauseScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error)
|
||||
StartScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error)
|
||||
DeleteScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error)
|
||||
GetScheduleTaskStatus(context.Context, *emptypb.Empty) (*GetScheduleTaskStatusResponse, error)
|
||||
mustEmbedUnimplementedCronServer()
|
||||
}
|
||||
|
||||
// UnimplementedCronServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedCronServer struct {
|
||||
proxyImpl protocol.Invoker
|
||||
}
|
||||
|
||||
func (UnimplementedCronServer) CreateScheduleTask(context.Context, *CreateScheduleTaskRequest) (*CreateScheduleTaskResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) UpdateScheduleTask(context.Context, *UpdateScheduleTaskRequest) (*UpdateScheduleTaskResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) GetListScheduleTask(context.Context, *GetListScheduleTaskRequest) (*GetListScheduleTaskResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetListScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) GetListExecutionRecord(context.Context, *GetListExecutionRecordRequest) (*GetListExecutionRecordResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetListExecutionRecord not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) GetListExecutionResult(context.Context, *GetListExecutionResultRequest) (*GetListExecutionResultResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetListExecutionResult not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) PauseScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method PauseScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) StartScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method StartScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) DeleteScheduleTask(context.Context, *CommonIDRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteScheduleTask not implemented")
|
||||
}
|
||||
func (UnimplementedCronServer) GetScheduleTaskStatus(context.Context, *emptypb.Empty) (*GetScheduleTaskStatusResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetScheduleTaskStatus not implemented")
|
||||
}
|
||||
func (s *UnimplementedCronServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
|
||||
func (s *UnimplementedCronServer) XXX_GetProxyImpl() protocol.Invoker {
|
||||
return s.proxyImpl
|
||||
}
|
||||
|
||||
func (s *UnimplementedCronServer) XXX_ServiceDesc() *grpc_go.ServiceDesc {
|
||||
return &Cron_ServiceDesc
|
||||
}
|
||||
func (s *UnimplementedCronServer) XXX_InterfaceName() string {
|
||||
return "cron.Cron"
|
||||
}
|
||||
|
||||
func (UnimplementedCronServer) mustEmbedUnimplementedCronServer() {}
|
||||
|
||||
// UnsafeCronServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to CronServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeCronServer interface {
|
||||
mustEmbedUnimplementedCronServer()
|
||||
}
|
||||
|
||||
func RegisterCronServer(s grpc_go.ServiceRegistrar, srv CronServer) {
|
||||
s.RegisterService(&Cron_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _Cron_CreateScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateScheduleTaskRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("CreateScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_UpdateScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateScheduleTaskRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UpdateScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_GetListScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetListScheduleTaskRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetListScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_GetListExecutionRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetListExecutionRecordRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetListExecutionRecord", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_GetListExecutionResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetListExecutionResultRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetListExecutionResult", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_PauseScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CommonIDRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("PauseScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_StartScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CommonIDRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("StartScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_DeleteScheduleTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CommonIDRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("DeleteScheduleTask", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Cron_GetScheduleTaskStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(emptypb.Empty)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetScheduleTaskStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// Cron_ServiceDesc is the grpc_go.ServiceDesc for Cron service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var Cron_ServiceDesc = grpc_go.ServiceDesc{
|
||||
ServiceName: "cron.Cron",
|
||||
HandlerType: (*CronServer)(nil),
|
||||
Methods: []grpc_go.MethodDesc{
|
||||
{
|
||||
MethodName: "CreateScheduleTask",
|
||||
Handler: _Cron_CreateScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateScheduleTask",
|
||||
Handler: _Cron_UpdateScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetListScheduleTask",
|
||||
Handler: _Cron_GetListScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetListExecutionRecord",
|
||||
Handler: _Cron_GetListExecutionRecord_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetListExecutionResult",
|
||||
Handler: _Cron_GetListExecutionResult_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "PauseScheduleTask",
|
||||
Handler: _Cron_PauseScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "StartScheduleTask",
|
||||
Handler: _Cron_StartScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteScheduleTask",
|
||||
Handler: _Cron_DeleteScheduleTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetScheduleTaskStatus",
|
||||
Handler: _Cron_GetScheduleTaskStatus_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "pb/cron.proto",
|
||||
}
|
||||
644
api/emailAlerts/emailAlerts.pb.go
Normal file
644
api/emailAlerts/emailAlerts.pb.go
Normal file
@ -0,0 +1,644 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.31.0
|
||||
// protoc v5.26.0
|
||||
// source: api/emailAlerts/emailAlerts.proto
|
||||
|
||||
package emailAlerts
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type EmailAlertsSubmitReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FirstName string `protobuf:"bytes,1,opt,name=firstName,proto3" json:"firstName"`
|
||||
LastName string `protobuf:"bytes,2,opt,name=lastName,proto3" json:"lastName"`
|
||||
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email"`
|
||||
Company string `protobuf:"bytes,4,opt,name=company,proto3" json:"company"`
|
||||
Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone"`
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) Reset() {
|
||||
*x = EmailAlertsSubmitReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*EmailAlertsSubmitReq) ProtoMessage() {}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use EmailAlertsSubmitReq.ProtoReflect.Descriptor instead.
|
||||
func (*EmailAlertsSubmitReq) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) GetFirstName() string {
|
||||
if x != nil {
|
||||
return x.FirstName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) GetLastName() string {
|
||||
if x != nil {
|
||||
return x.LastName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) GetEmail() string {
|
||||
if x != nil {
|
||||
return x.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) GetCompany() string {
|
||||
if x != nil {
|
||||
return x.Company
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitReq) GetPhone() string {
|
||||
if x != nil {
|
||||
return x.Phone
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type EmailAlertsSubmitResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitResp) Reset() {
|
||||
*x = EmailAlertsSubmitResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*EmailAlertsSubmitResp) ProtoMessage() {}
|
||||
|
||||
func (x *EmailAlertsSubmitResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use EmailAlertsSubmitResp.ProtoReflect.Descriptor instead.
|
||||
func (*EmailAlertsSubmitResp) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *EmailAlertsSubmitResp) GetMsg() string {
|
||||
if x != nil {
|
||||
return x.Msg
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// ========================= EmailInformatio ==============================
|
||||
type Filtrate struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
|
||||
Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email"`
|
||||
Company string `protobuf:"bytes,3,opt,name=company,proto3" json:"company"`
|
||||
}
|
||||
|
||||
func (x *Filtrate) Reset() {
|
||||
*x = Filtrate{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *Filtrate) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Filtrate) ProtoMessage() {}
|
||||
|
||||
func (x *Filtrate) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Filtrate.ProtoReflect.Descriptor instead.
|
||||
func (*Filtrate) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *Filtrate) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Filtrate) GetEmail() string {
|
||||
if x != nil {
|
||||
return x.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Filtrate) GetCompany() string {
|
||||
if x != nil {
|
||||
return x.Company
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GetEmailInformationListReq struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"`
|
||||
PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"`
|
||||
Filtrate *Filtrate `protobuf:"bytes,3,opt,name=filtrate,proto3" json:"filtrate"`
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListReq) Reset() {
|
||||
*x = GetEmailInformationListReq{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListReq) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetEmailInformationListReq) ProtoMessage() {}
|
||||
|
||||
func (x *GetEmailInformationListReq) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use GetEmailInformationListReq.ProtoReflect.Descriptor instead.
|
||||
func (*GetEmailInformationListReq) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListReq) GetPage() int32 {
|
||||
if x != nil {
|
||||
return x.Page
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListReq) GetPageSize() int32 {
|
||||
if x != nil {
|
||||
return x.PageSize
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListReq) GetFiltrate() *Filtrate {
|
||||
if x != nil {
|
||||
return x.Filtrate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type GetEmailInformationListResp struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||
Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"`
|
||||
PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"`
|
||||
Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"`
|
||||
Data []*EmailInformation `protobuf:"bytes,5,rep,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) Reset() {
|
||||
*x = GetEmailInformationListResp{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetEmailInformationListResp) ProtoMessage() {}
|
||||
|
||||
func (x *GetEmailInformationListResp) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use GetEmailInformationListResp.ProtoReflect.Descriptor instead.
|
||||
func (*GetEmailInformationListResp) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) GetMsg() string {
|
||||
if x != nil {
|
||||
return x.Msg
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) GetPage() int32 {
|
||||
if x != nil {
|
||||
return x.Page
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) GetPageSize() int32 {
|
||||
if x != nil {
|
||||
return x.PageSize
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) GetTotal() int32 {
|
||||
if x != nil {
|
||||
return x.Total
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *GetEmailInformationListResp) GetData() []*EmailInformation {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type EmailInformation struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id"`
|
||||
FullName string `protobuf:"bytes,2,opt,name=fullName,proto3" json:"fullName"`
|
||||
Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email"`
|
||||
Company string `protobuf:"bytes,4,opt,name=company,proto3" json:"company"`
|
||||
Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone"`
|
||||
CreatedAt string `protobuf:"bytes,6,opt,name=createdAt,proto3" json:"createdAt"`
|
||||
}
|
||||
|
||||
func (x *EmailInformation) Reset() {
|
||||
*x = EmailInformation{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *EmailInformation) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*EmailInformation) ProtoMessage() {}
|
||||
|
||||
func (x *EmailInformation) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_api_emailAlerts_emailAlerts_proto_msgTypes[5]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use EmailInformation.ProtoReflect.Descriptor instead.
|
||||
func (*EmailInformation) Descriptor() ([]byte, []int) {
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetId() int32 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetFullName() string {
|
||||
if x != nil {
|
||||
return x.FullName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetEmail() string {
|
||||
if x != nil {
|
||||
return x.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetCompany() string {
|
||||
if x != nil {
|
||||
return x.Company
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetPhone() string {
|
||||
if x != nil {
|
||||
return x.Phone
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EmailInformation) GetCreatedAt() string {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_api_emailAlerts_emailAlerts_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_emailAlerts_emailAlerts_proto_rawDesc = []byte{
|
||||
0x0a, 0x21, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74,
|
||||
0x73, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73,
|
||||
0x22, 0x96, 0x01, 0x0a, 0x14, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73,
|
||||
0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72,
|
||||
0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69,
|
||||
0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d,
|
||||
0x70, 0x61, 0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70,
|
||||
0x61, 0x6e, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x45, 0x6d, 0x61,
|
||||
0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6d, 0x73, 0x67, 0x22, 0x4e, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
|
||||
0x6d, 0x70, 0x61, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d,
|
||||
0x70, 0x61, 0x6e, 0x79, 0x22, 0x7f, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||
0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
|
||||
0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
|
||||
0x7a, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72,
|
||||
0x74, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c,
|
||||
0x74, 0x72, 0x61, 0x74, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61,
|
||||
0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
|
||||
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
|
||||
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x31, 0x0a,
|
||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6d,
|
||||
0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x22, 0xa2, 0x01, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61,
|
||||
0x6e, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e,
|
||||
0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x64, 0x41, 0x74, 0x32, 0xd7, 0x01, 0x0a, 0x0b, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41,
|
||||
0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c,
|
||||
0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x2e, 0x65, 0x6d, 0x61,
|
||||
0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c,
|
||||
0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e,
|
||||
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x12, 0x6c, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x65,
|
||||
0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6d,
|
||||
0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65,
|
||||
0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42,
|
||||
0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x3b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74,
|
||||
0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_api_emailAlerts_emailAlerts_proto_rawDescOnce sync.Once
|
||||
file_api_emailAlerts_emailAlerts_proto_rawDescData = file_api_emailAlerts_emailAlerts_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_api_emailAlerts_emailAlerts_proto_rawDescGZIP() []byte {
|
||||
file_api_emailAlerts_emailAlerts_proto_rawDescOnce.Do(func() {
|
||||
file_api_emailAlerts_emailAlerts_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_emailAlerts_emailAlerts_proto_rawDescData)
|
||||
})
|
||||
return file_api_emailAlerts_emailAlerts_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_api_emailAlerts_emailAlerts_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_api_emailAlerts_emailAlerts_proto_goTypes = []interface{}{
|
||||
(*EmailAlertsSubmitReq)(nil), // 0: emailAlerts.EmailAlertsSubmitReq
|
||||
(*EmailAlertsSubmitResp)(nil), // 1: emailAlerts.EmailAlertsSubmitResp
|
||||
(*Filtrate)(nil), // 2: emailAlerts.Filtrate
|
||||
(*GetEmailInformationListReq)(nil), // 3: emailAlerts.GetEmailInformationListReq
|
||||
(*GetEmailInformationListResp)(nil), // 4: emailAlerts.GetEmailInformationListResp
|
||||
(*EmailInformation)(nil), // 5: emailAlerts.EmailInformation
|
||||
}
|
||||
var file_api_emailAlerts_emailAlerts_proto_depIdxs = []int32{
|
||||
2, // 0: emailAlerts.GetEmailInformationListReq.filtrate:type_name -> emailAlerts.Filtrate
|
||||
5, // 1: emailAlerts.GetEmailInformationListResp.data:type_name -> emailAlerts.EmailInformation
|
||||
0, // 2: emailAlerts.EmailAlerts.EmailAlertsSubmit:input_type -> emailAlerts.EmailAlertsSubmitReq
|
||||
3, // 3: emailAlerts.EmailAlerts.GetEmailInformationList:input_type -> emailAlerts.GetEmailInformationListReq
|
||||
1, // 4: emailAlerts.EmailAlerts.EmailAlertsSubmit:output_type -> emailAlerts.EmailAlertsSubmitResp
|
||||
4, // 5: emailAlerts.EmailAlerts.GetEmailInformationList:output_type -> emailAlerts.GetEmailInformationListResp
|
||||
4, // [4:6] is the sub-list for method output_type
|
||||
2, // [2:4] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_api_emailAlerts_emailAlerts_proto_init() }
|
||||
func file_api_emailAlerts_emailAlerts_proto_init() {
|
||||
if File_api_emailAlerts_emailAlerts_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EmailAlertsSubmitReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EmailAlertsSubmitResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*Filtrate); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetEmailInformationListReq); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*GetEmailInformationListResp); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_api_emailAlerts_emailAlerts_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EmailInformation); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_emailAlerts_emailAlerts_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_api_emailAlerts_emailAlerts_proto_goTypes,
|
||||
DependencyIndexes: file_api_emailAlerts_emailAlerts_proto_depIdxs,
|
||||
MessageInfos: file_api_emailAlerts_emailAlerts_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_emailAlerts_emailAlerts_proto = out.File
|
||||
file_api_emailAlerts_emailAlerts_proto_rawDesc = nil
|
||||
file_api_emailAlerts_emailAlerts_proto_goTypes = nil
|
||||
file_api_emailAlerts_emailAlerts_proto_depIdxs = nil
|
||||
}
|
||||
47
api/emailAlerts/emailAlerts.validator.pb.go
Normal file
47
api/emailAlerts/emailAlerts.validator.pb.go
Normal file
@ -0,0 +1,47 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: api/emailAlerts/emailAlerts.proto
|
||||
|
||||
package emailAlerts
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *EmailAlertsSubmitReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EmailAlertsSubmitResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *Filtrate) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetEmailInformationListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetEmailInformationListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EmailInformation) Validate() error {
|
||||
return nil
|
||||
}
|
||||
194
api/emailAlerts/emailAlerts_triple.pb.go
Normal file
194
api/emailAlerts/emailAlerts_triple.pb.go
Normal file
@ -0,0 +1,194 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v5.26.0
|
||||
// source: api/emailAlerts/emailAlerts.proto
|
||||
|
||||
package emailAlerts
|
||||
|
||||
import (
|
||||
context "context"
|
||||
protocol "dubbo.apache.org/dubbo-go/v3/protocol"
|
||||
dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
|
||||
invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
|
||||
grpc_go "github.com/dubbogo/grpc-go"
|
||||
codes "github.com/dubbogo/grpc-go/codes"
|
||||
metadata "github.com/dubbogo/grpc-go/metadata"
|
||||
status "github.com/dubbogo/grpc-go/status"
|
||||
common "github.com/dubbogo/triple/pkg/common"
|
||||
constant "github.com/dubbogo/triple/pkg/common/constant"
|
||||
triple "github.com/dubbogo/triple/pkg/triple"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc_go.SupportPackageIsVersion7
|
||||
|
||||
// EmailAlertsClient is the client API for EmailAlerts service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type EmailAlertsClient interface {
|
||||
EmailAlertsSubmit(ctx context.Context, in *EmailAlertsSubmitReq, opts ...grpc_go.CallOption) (*EmailAlertsSubmitResp, common.ErrorWithAttachment)
|
||||
// ========================= EmailInformatio ==============================
|
||||
GetEmailInformationList(ctx context.Context, in *GetEmailInformationListReq, opts ...grpc_go.CallOption) (*GetEmailInformationListResp, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type emailAlertsClient struct {
|
||||
cc *triple.TripleConn
|
||||
}
|
||||
|
||||
type EmailAlertsClientImpl struct {
|
||||
EmailAlertsSubmit func(ctx context.Context, in *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error)
|
||||
GetEmailInformationList func(ctx context.Context, in *GetEmailInformationListReq) (*GetEmailInformationListResp, error)
|
||||
}
|
||||
|
||||
func (c *EmailAlertsClientImpl) GetDubboStub(cc *triple.TripleConn) EmailAlertsClient {
|
||||
return NewEmailAlertsClient(cc)
|
||||
}
|
||||
|
||||
func (c *EmailAlertsClientImpl) XXX_InterfaceName() string {
|
||||
return "emailAlerts.EmailAlerts"
|
||||
}
|
||||
|
||||
func NewEmailAlertsClient(cc *triple.TripleConn) EmailAlertsClient {
|
||||
return &emailAlertsClient{cc}
|
||||
}
|
||||
|
||||
func (c *emailAlertsClient) EmailAlertsSubmit(ctx context.Context, in *EmailAlertsSubmitReq, opts ...grpc_go.CallOption) (*EmailAlertsSubmitResp, common.ErrorWithAttachment) {
|
||||
out := new(EmailAlertsSubmitResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EmailAlertsSubmit", in, out)
|
||||
}
|
||||
|
||||
func (c *emailAlertsClient) GetEmailInformationList(ctx context.Context, in *GetEmailInformationListReq, opts ...grpc_go.CallOption) (*GetEmailInformationListResp, common.ErrorWithAttachment) {
|
||||
out := new(GetEmailInformationListResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetEmailInformationList", in, out)
|
||||
}
|
||||
|
||||
// EmailAlertsServer is the server API for EmailAlerts service.
|
||||
// All implementations must embed UnimplementedEmailAlertsServer
|
||||
// for forward compatibility
|
||||
type EmailAlertsServer interface {
|
||||
EmailAlertsSubmit(context.Context, *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error)
|
||||
// ========================= EmailInformatio ==============================
|
||||
GetEmailInformationList(context.Context, *GetEmailInformationListReq) (*GetEmailInformationListResp, error)
|
||||
mustEmbedUnimplementedEmailAlertsServer()
|
||||
}
|
||||
|
||||
// UnimplementedEmailAlertsServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedEmailAlertsServer struct {
|
||||
proxyImpl protocol.Invoker
|
||||
}
|
||||
|
||||
func (UnimplementedEmailAlertsServer) EmailAlertsSubmit(context.Context, *EmailAlertsSubmitReq) (*EmailAlertsSubmitResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method EmailAlertsSubmit not implemented")
|
||||
}
|
||||
func (UnimplementedEmailAlertsServer) GetEmailInformationList(context.Context, *GetEmailInformationListReq) (*GetEmailInformationListResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEmailInformationList not implemented")
|
||||
}
|
||||
func (s *UnimplementedEmailAlertsServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
|
||||
func (s *UnimplementedEmailAlertsServer) XXX_GetProxyImpl() protocol.Invoker {
|
||||
return s.proxyImpl
|
||||
}
|
||||
|
||||
func (s *UnimplementedEmailAlertsServer) XXX_ServiceDesc() *grpc_go.ServiceDesc {
|
||||
return &EmailAlerts_ServiceDesc
|
||||
}
|
||||
func (s *UnimplementedEmailAlertsServer) XXX_InterfaceName() string {
|
||||
return "emailAlerts.EmailAlerts"
|
||||
}
|
||||
|
||||
func (UnimplementedEmailAlertsServer) mustEmbedUnimplementedEmailAlertsServer() {}
|
||||
|
||||
// UnsafeEmailAlertsServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to EmailAlertsServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeEmailAlertsServer interface {
|
||||
mustEmbedUnimplementedEmailAlertsServer()
|
||||
}
|
||||
|
||||
func RegisterEmailAlertsServer(s grpc_go.ServiceRegistrar, srv EmailAlertsServer) {
|
||||
s.RegisterService(&EmailAlerts_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _EmailAlerts_EmailAlertsSubmit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(EmailAlertsSubmitReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("EmailAlertsSubmit", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _EmailAlerts_GetEmailInformationList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetEmailInformationListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetEmailInformationList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// EmailAlerts_ServiceDesc is the grpc_go.ServiceDesc for EmailAlerts service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var EmailAlerts_ServiceDesc = grpc_go.ServiceDesc{
|
||||
ServiceName: "emailAlerts.EmailAlerts",
|
||||
HandlerType: (*EmailAlertsServer)(nil),
|
||||
Methods: []grpc_go.MethodDesc{
|
||||
{
|
||||
MethodName: "EmailAlertsSubmit",
|
||||
Handler: _EmailAlerts_EmailAlertsSubmit_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEmailInformationList",
|
||||
Handler: _EmailAlerts_GetEmailInformationList_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "api/emailAlerts/emailAlerts.proto",
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -126,3 +126,44 @@ func (this *UsageReq) Validate() error {
|
||||
func (this *UsageResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityStatusData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityScanReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SecurityScanResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateFileSecurityStatusReq) Validate() error {
|
||||
for _, item := range this.SecurityStatusData {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateFileSecurityStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ManualAntiReq) Validate() error {
|
||||
for _, item := range this.SecurityStatusData {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("SecurityStatusData", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ManualAntiResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetFileSecurityStatusReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetFileSecurityStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -42,6 +42,10 @@ type FileClient interface {
|
||||
Action(ctx context.Context, in *ActionReq, opts ...grpc_go.CallOption) (*ActionResp, common.ErrorWithAttachment)
|
||||
DirDownload(ctx context.Context, in *DirDownloadReq, opts ...grpc_go.CallOption) (File_DirDownloadClient, error)
|
||||
Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.CallOption) (*UsageResp, common.ErrorWithAttachment)
|
||||
SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment)
|
||||
UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment)
|
||||
ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment)
|
||||
GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type fileClient struct {
|
||||
@ -49,19 +53,23 @@ type fileClient struct {
|
||||
}
|
||||
|
||||
type FileClientImpl struct {
|
||||
List func(ctx context.Context, in *FileListReq) (*FileListResp, error)
|
||||
Info func(ctx context.Context, in *FileInfoReq) (*FileInfoResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Search func(ctx context.Context, in *SearchReq) (*SearchResp, error)
|
||||
Upload func(ctx context.Context, in *UploadReq) (*UploadResp, error)
|
||||
TusCreate func(ctx context.Context, in *TusCreateReq) (*TusCreateResp, error)
|
||||
TusUpload func(ctx context.Context, in *TusUploadReq) (*TusUploadResp, error)
|
||||
ResumableTransfer func(ctx context.Context, in *ResumableTransferReq) (*ResumableTransferResp, error)
|
||||
Preview func(ctx context.Context, in *PreviewReq) (*PreviewResp, error)
|
||||
Action func(ctx context.Context, in *ActionReq) (*ActionResp, error)
|
||||
DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error)
|
||||
Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error)
|
||||
List func(ctx context.Context, in *FileListReq) (*FileListResp, error)
|
||||
Info func(ctx context.Context, in *FileInfoReq) (*FileInfoResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Search func(ctx context.Context, in *SearchReq) (*SearchResp, error)
|
||||
Upload func(ctx context.Context, in *UploadReq) (*UploadResp, error)
|
||||
TusCreate func(ctx context.Context, in *TusCreateReq) (*TusCreateResp, error)
|
||||
TusUpload func(ctx context.Context, in *TusUploadReq) (*TusUploadResp, error)
|
||||
ResumableTransfer func(ctx context.Context, in *ResumableTransferReq) (*ResumableTransferResp, error)
|
||||
Preview func(ctx context.Context, in *PreviewReq) (*PreviewResp, error)
|
||||
Action func(ctx context.Context, in *ActionReq) (*ActionResp, error)
|
||||
DirDownload func(ctx context.Context, in *DirDownloadReq) (File_DirDownloadClient, error)
|
||||
Usage func(ctx context.Context, in *UsageReq) (*UsageResp, error)
|
||||
SecurityScan func(ctx context.Context, in *SecurityScanReq) (*SecurityScanResp, error)
|
||||
UpdateFileSecurityStatus func(ctx context.Context, in *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
|
||||
ManualAnti func(ctx context.Context, in *ManualAntiReq) (*ManualAntiResp, error)
|
||||
GetFileSecurityStatus func(ctx context.Context, in *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
|
||||
}
|
||||
|
||||
func (c *FileClientImpl) GetDubboStub(cc *triple.TripleConn) FileClient {
|
||||
@ -181,6 +189,30 @@ func (c *fileClient) Usage(ctx context.Context, in *UsageReq, opts ...grpc_go.Ca
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Usage", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) SecurityScan(ctx context.Context, in *SecurityScanReq, opts ...grpc_go.CallOption) (*SecurityScanResp, common.ErrorWithAttachment) {
|
||||
out := new(SecurityScanResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SecurityScan", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) UpdateFileSecurityStatus(ctx context.Context, in *UpdateFileSecurityStatusReq, opts ...grpc_go.CallOption) (*UpdateFileSecurityStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(UpdateFileSecurityStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateFileSecurityStatus", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) ManualAnti(ctx context.Context, in *ManualAntiReq, opts ...grpc_go.CallOption) (*ManualAntiResp, common.ErrorWithAttachment) {
|
||||
out := new(ManualAntiResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ManualAnti", in, out)
|
||||
}
|
||||
|
||||
func (c *fileClient) GetFileSecurityStatus(ctx context.Context, in *GetFileSecurityStatusReq, opts ...grpc_go.CallOption) (*GetFileSecurityStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(GetFileSecurityStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetFileSecurityStatus", in, out)
|
||||
}
|
||||
|
||||
// FileServer is the server API for File service.
|
||||
// All implementations must embed UnimplementedFileServer
|
||||
// for forward compatibility
|
||||
@ -198,6 +230,10 @@ type FileServer interface {
|
||||
Action(context.Context, *ActionReq) (*ActionResp, error)
|
||||
DirDownload(*DirDownloadReq, File_DirDownloadServer) error
|
||||
Usage(context.Context, *UsageReq) (*UsageResp, error)
|
||||
SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error)
|
||||
UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error)
|
||||
ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error)
|
||||
GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error)
|
||||
mustEmbedUnimplementedFileServer()
|
||||
}
|
||||
|
||||
@ -245,6 +281,18 @@ func (UnimplementedFileServer) DirDownload(*DirDownloadReq, File_DirDownloadServ
|
||||
func (UnimplementedFileServer) Usage(context.Context, *UsageReq) (*UsageResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Usage not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) SecurityScan(context.Context, *SecurityScanReq) (*SecurityScanResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SecurityScan not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) UpdateFileSecurityStatus(context.Context, *UpdateFileSecurityStatusReq) (*UpdateFileSecurityStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateFileSecurityStatus not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) ManualAnti(context.Context, *ManualAntiReq) (*ManualAntiResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ManualAnti not implemented")
|
||||
}
|
||||
func (UnimplementedFileServer) GetFileSecurityStatus(context.Context, *GetFileSecurityStatusReq) (*GetFileSecurityStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetFileSecurityStatus not implemented")
|
||||
}
|
||||
func (s *UnimplementedFileServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
@ -648,6 +696,122 @@ func _File_Usage_Handler(srv interface{}, ctx context.Context, dec func(interfac
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_SecurityScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(SecurityScanReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("SecurityScan", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_UpdateFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateFileSecurityStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UpdateFileSecurityStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_ManualAnti_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ManualAntiReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("ManualAnti", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _File_GetFileSecurityStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetFileSecurityStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetFileSecurityStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// File_ServiceDesc is the grpc_go.ServiceDesc for File service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
@ -703,6 +867,22 @@ var File_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "Usage",
|
||||
Handler: _File_Usage_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SecurityScan",
|
||||
Handler: _File_SecurityScan_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateFileSecurityStatus",
|
||||
Handler: _File_UpdateFileSecurityStatus_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ManualAnti",
|
||||
Handler: _File_ManualAnti_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetFileSecurityStatus",
|
||||
Handler: _File_GetFileSecurityStatus_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -9,20 +9,53 @@ service Governance{
|
||||
rpc List(ListReq) returns (ListResp) {}
|
||||
rpc Delete(DeleteReq) returns (DeleteResp) {}
|
||||
rpc Edit(EditReq) returns (EditResp) {}
|
||||
rpc UpdataStatus(UpdataStatusReq) returns (UpdataStatusResp) {}
|
||||
rpc GetGovernanceInfo(GetGovernanceInfoReq) returns (GetGovernanceInfoResp) {}
|
||||
rpc Create(CreateReq) returns (CreateResp) {}
|
||||
rpc Display(DisplayReq) returns (DisplayResp) {}
|
||||
}
|
||||
|
||||
message LangSetting {
|
||||
string langType = 1;//语言类型
|
||||
int32 isSetting = 2;//是否设置
|
||||
}
|
||||
|
||||
message GovernanceLangData{
|
||||
string title = 1;//标题
|
||||
string attachment = 2;//附件
|
||||
string attachmentName = 3;//附件名称
|
||||
int32 isSetting = 4;//是否设置
|
||||
}
|
||||
|
||||
message GovernanceLang{
|
||||
string langType = 1;//语言类型
|
||||
GovernanceLangData data = 2;//语言数据
|
||||
}
|
||||
|
||||
message GovernanceInfo{
|
||||
string uuid = 1;
|
||||
repeated GovernanceLang dataByLang = 2;//语言数据
|
||||
int32 sort = 3;//排序
|
||||
int32 status = 4;//状态
|
||||
}
|
||||
|
||||
message Item{
|
||||
int32 id = 1;
|
||||
string uuid = 1;
|
||||
string title = 2;
|
||||
string attachment = 3;
|
||||
string attachmentName = 4;
|
||||
int32 sort = 5;
|
||||
int32 status = 6;
|
||||
int64 updatedAt = 7;
|
||||
string operator = 8;
|
||||
int32 operatorId = 9;
|
||||
repeated LangSetting langSetting = 5;//语言设置
|
||||
int32 sort = 6;
|
||||
int32 status = 7;
|
||||
int64 updatedAt = 8;
|
||||
string operator = 9;
|
||||
int32 operatorId = 10;
|
||||
}
|
||||
|
||||
message DisplayItem{
|
||||
string title = 1;
|
||||
string attachment = 2;
|
||||
string attachmentName = 3;
|
||||
}
|
||||
|
||||
message ListReq{
|
||||
@ -38,34 +71,48 @@ message ListResp{
|
||||
}
|
||||
|
||||
message DeleteReq{
|
||||
int32 id = 1;
|
||||
string uuid = 1;
|
||||
}
|
||||
|
||||
message DeleteResp{
|
||||
}
|
||||
|
||||
message EditReq{
|
||||
uint32 id = 1;
|
||||
string title = 2;
|
||||
string attachment = 3;
|
||||
string attachmentName = 4;
|
||||
int32 sort = 5;
|
||||
int32 status = 6;
|
||||
string operator = 7;
|
||||
int32 operatorId = 8;
|
||||
string uuid = 1;
|
||||
repeated GovernanceLang dataByLang = 2;
|
||||
int32 sort = 3;
|
||||
string operator = 4;
|
||||
int32 operatorId = 5;
|
||||
}
|
||||
|
||||
message EditResp{
|
||||
}
|
||||
|
||||
message UpdataStatusReq{
|
||||
string uuid = 1;
|
||||
int32 status = 2;
|
||||
string operator = 3;
|
||||
int32 operatorId = 4;
|
||||
}
|
||||
message UpdataStatusResp{
|
||||
string msg = 1;
|
||||
}
|
||||
|
||||
message GetGovernanceInfoReq{
|
||||
string uuid = 1;
|
||||
}
|
||||
message GetGovernanceInfoResp{
|
||||
string msg = 1;
|
||||
GovernanceInfo data = 2;
|
||||
}
|
||||
|
||||
message CreateReq{
|
||||
string title = 1;
|
||||
uint32 sort = 2;
|
||||
string attachment = 3;
|
||||
string attachmentName = 4;
|
||||
int32 status = 5;
|
||||
string operator = 6;
|
||||
int32 operatorId = 7;
|
||||
string uuid = 1;
|
||||
repeated GovernanceLang dataByLang = 2;
|
||||
uint32 sort = 3;
|
||||
int32 status = 4;
|
||||
string operator = 5;
|
||||
int32 operatorId = 6;
|
||||
}
|
||||
|
||||
message CreateResp{
|
||||
@ -73,9 +120,9 @@ message CreateResp{
|
||||
}
|
||||
|
||||
message DisplayReq{
|
||||
|
||||
string langType = 1;//语言类型
|
||||
}
|
||||
|
||||
message DisplayResp{
|
||||
repeated Item data = 1;
|
||||
repeated DisplayItem data = 1;
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: governance.proto
|
||||
// source: api/governance/governance.proto
|
||||
|
||||
package governance
|
||||
|
||||
@ -15,7 +15,41 @@ var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *LangSetting) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GovernanceLangData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GovernanceLang) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GovernanceInfo) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *Item) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ListReq) Validate() error {
|
||||
@ -38,12 +72,43 @@ func (this *DeleteResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdataStatusReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdataStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetGovernanceInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetGovernanceInfoResp) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateResp) Validate() error {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.8
|
||||
// - protoc v3.20.3
|
||||
// source: governance.proto
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v5.26.0
|
||||
// source: api/governance/governance.proto
|
||||
|
||||
package governance
|
||||
|
||||
@ -31,6 +31,8 @@ type GovernanceClient interface {
|
||||
List(ctx context.Context, in *ListReq, opts ...grpc_go.CallOption) (*ListResp, common.ErrorWithAttachment)
|
||||
Delete(ctx context.Context, in *DeleteReq, opts ...grpc_go.CallOption) (*DeleteResp, common.ErrorWithAttachment)
|
||||
Edit(ctx context.Context, in *EditReq, opts ...grpc_go.CallOption) (*EditResp, common.ErrorWithAttachment)
|
||||
UpdataStatus(ctx context.Context, in *UpdataStatusReq, opts ...grpc_go.CallOption) (*UpdataStatusResp, common.ErrorWithAttachment)
|
||||
GetGovernanceInfo(ctx context.Context, in *GetGovernanceInfoReq, opts ...grpc_go.CallOption) (*GetGovernanceInfoResp, common.ErrorWithAttachment)
|
||||
Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment)
|
||||
Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment)
|
||||
}
|
||||
@ -40,11 +42,13 @@ type governanceClient struct {
|
||||
}
|
||||
|
||||
type GovernanceClientImpl struct {
|
||||
List func(ctx context.Context, in *ListReq) (*ListResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Edit func(ctx context.Context, in *EditReq) (*EditResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error)
|
||||
List func(ctx context.Context, in *ListReq) (*ListResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Edit func(ctx context.Context, in *EditReq) (*EditResp, error)
|
||||
UpdataStatus func(ctx context.Context, in *UpdataStatusReq) (*UpdataStatusResp, error)
|
||||
GetGovernanceInfo func(ctx context.Context, in *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error)
|
||||
}
|
||||
|
||||
func (c *GovernanceClientImpl) GetDubboStub(cc *triple.TripleConn) GovernanceClient {
|
||||
@ -77,6 +81,18 @@ func (c *governanceClient) Edit(ctx context.Context, in *EditReq, opts ...grpc_g
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Edit", in, out)
|
||||
}
|
||||
|
||||
func (c *governanceClient) UpdataStatus(ctx context.Context, in *UpdataStatusReq, opts ...grpc_go.CallOption) (*UpdataStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(UpdataStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdataStatus", in, out)
|
||||
}
|
||||
|
||||
func (c *governanceClient) GetGovernanceInfo(ctx context.Context, in *GetGovernanceInfoReq, opts ...grpc_go.CallOption) (*GetGovernanceInfoResp, common.ErrorWithAttachment) {
|
||||
out := new(GetGovernanceInfoResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetGovernanceInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *governanceClient) Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment) {
|
||||
out := new(CreateResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -96,6 +112,8 @@ type GovernanceServer interface {
|
||||
List(context.Context, *ListReq) (*ListResp, error)
|
||||
Delete(context.Context, *DeleteReq) (*DeleteResp, error)
|
||||
Edit(context.Context, *EditReq) (*EditResp, error)
|
||||
UpdataStatus(context.Context, *UpdataStatusReq) (*UpdataStatusResp, error)
|
||||
GetGovernanceInfo(context.Context, *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error)
|
||||
Create(context.Context, *CreateReq) (*CreateResp, error)
|
||||
Display(context.Context, *DisplayReq) (*DisplayResp, error)
|
||||
mustEmbedUnimplementedGovernanceServer()
|
||||
@ -115,6 +133,12 @@ func (UnimplementedGovernanceServer) Delete(context.Context, *DeleteReq) (*Delet
|
||||
func (UnimplementedGovernanceServer) Edit(context.Context, *EditReq) (*EditResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Edit not implemented")
|
||||
}
|
||||
func (UnimplementedGovernanceServer) UpdataStatus(context.Context, *UpdataStatusReq) (*UpdataStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdataStatus not implemented")
|
||||
}
|
||||
func (UnimplementedGovernanceServer) GetGovernanceInfo(context.Context, *GetGovernanceInfoReq) (*GetGovernanceInfoResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetGovernanceInfo not implemented")
|
||||
}
|
||||
func (UnimplementedGovernanceServer) Create(context.Context, *CreateReq) (*CreateResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
}
|
||||
@ -236,6 +260,64 @@ func _Governance_Edit_Handler(srv interface{}, ctx context.Context, dec func(int
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Governance_UpdataStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdataStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UpdataStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Governance_GetGovernanceInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetGovernanceInfoReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetGovernanceInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Governance_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateReq)
|
||||
if err := dec(in); err != nil {
|
||||
@ -313,6 +395,14 @@ var Governance_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "Edit",
|
||||
Handler: _Governance_Edit_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdataStatus",
|
||||
Handler: _Governance_UpdataStatus_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetGovernanceInfo",
|
||||
Handler: _Governance_GetGovernanceInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Create",
|
||||
Handler: _Governance_Create_Handler,
|
||||
@ -323,5 +413,5 @@ var Governance_ServiceDesc = grpc_go.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "governance.proto",
|
||||
Metadata: "api/governance/governance.proto",
|
||||
}
|
||||
|
||||
5111
api/members/members.pb.go
Normal file
5111
api/members/members.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
341
api/members/members.validator.pb.go
Normal file
341
api/members/members.validator.pb.go
Normal file
@ -0,0 +1,341 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: api/members/members.proto
|
||||
|
||||
package members
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *Filtrate) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *LangSetting) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ManagementLangData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ManagementLang) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *Management) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddManagementReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddManagementResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusManagementReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusManagementResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditManagementReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditManagementResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteManagementReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteManagementResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetManagementListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetManagementListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetManagementInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetManagementInfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayManagementReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayManagementResp) Validate() error {
|
||||
for _, item := range this.Item {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Item", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayManagementItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *BoardOfDirectorsLang) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *BoardOfDirectorsLangData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *BoardOfDirectors) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddBoardOfDirectorsReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddBoardOfDirectorsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusBoardOfDirectorsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusBoardOfDirectorsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditBoardOfDirectorsReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditBoardOfDirectorsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteBoardOfDirectorsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteBoardOfDirectorsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetBoardOfDirectorsListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetBoardOfDirectorsListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetBoardOfDirectorsInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetBoardOfDirectorsInfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayBoardOfDirectorsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayBoardOfDirectorsResp) Validate() error {
|
||||
for _, item := range this.Item {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Item", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayBoardOfDirectorItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CommitteeAppointments) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CommitteeAppointmentsLang) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CommitteeAppointmentsLangData) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *AddCommitteeAppointmentsReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddCommitteeAppointmentsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusCommitteeAppointmentsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusCommitteeAppointmentsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditCommitteeAppointmentsReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditCommitteeAppointmentsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteCommitteeAppointmentsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteCommitteeAppointmentsResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetCommitteeAppointmentsListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetCommitteeAppointmentsListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetCommitteeAppointmentsInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetCommitteeAppointmentsInfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayCommitteeAppointmentsReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayCommitteeAppointmentsResp) Validate() error {
|
||||
for _, item := range this.Item {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Item", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayCommitteeAppointmentsItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
1095
api/members/members_triple.pb.go
Normal file
1095
api/members/members_triple.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,119 +0,0 @@
|
||||
syntax = "proto3";
|
||||
package pressreleases;
|
||||
//import "descriptor.proto";
|
||||
//import "validator.proto";
|
||||
|
||||
option go_package = "./;pressreleases";
|
||||
|
||||
service PressReleases{
|
||||
rpc List(ListReq) returns (ListResp) {}
|
||||
rpc Display(DisplayReq) returns (DisplayResp) {}
|
||||
rpc Edit(EditReq) returns (EditResp) {}
|
||||
rpc Create(CreateReq) returns (CreateResp) {}
|
||||
rpc Delete(DeleteReq) returns (DeleteResp) {}
|
||||
rpc Get(GetReq) returns (GetResp) {}
|
||||
}
|
||||
|
||||
message Item{
|
||||
uint32 id = 1;
|
||||
string title = 2;
|
||||
uint64 createdAt = 3;
|
||||
uint32 sort = 4;
|
||||
string content = 5;
|
||||
string attachment = 6;
|
||||
string attachmentName = 7;
|
||||
uint64 updatedAt = 8;
|
||||
uint32 status = 9;
|
||||
uint32 display = 10;
|
||||
string summary = 11;
|
||||
string operator = 12;
|
||||
int32 operatorId = 13;
|
||||
}
|
||||
|
||||
message ListReq{
|
||||
string title = 1;
|
||||
uint64 startTime = 2;
|
||||
uint64 endTime = 3;
|
||||
uint32 status = 4;
|
||||
uint32 display = 5;
|
||||
int32 page = 6;
|
||||
int32 pageSize = 7;
|
||||
}
|
||||
|
||||
message ListResp{
|
||||
uint64 total = 1;
|
||||
repeated Item data = 2;
|
||||
}
|
||||
|
||||
message DisplayReq{
|
||||
string query = 1;
|
||||
uint32 page = 2;
|
||||
uint32 pageSize = 3;
|
||||
int64 timeStart = 4;
|
||||
int64 timeEnd = 5;
|
||||
int32 display = 6;
|
||||
}
|
||||
|
||||
message DisplayResp{
|
||||
int64 total = 1;
|
||||
repeated Item data = 2;
|
||||
}
|
||||
|
||||
message EditReq{
|
||||
uint32 id = 1;
|
||||
string title = 2;
|
||||
uint64 createdAt = 3;
|
||||
uint32 sort = 4;
|
||||
string content = 5;
|
||||
string attachment = 6;
|
||||
string attachmentName = 7;
|
||||
uint32 status = 8;
|
||||
uint32 display = 9;
|
||||
string summary = 10;
|
||||
string operator = 11;
|
||||
int32 operatorId = 12;
|
||||
|
||||
}
|
||||
|
||||
message EditResp{
|
||||
}
|
||||
|
||||
message CreateReq{
|
||||
string title = 1;
|
||||
uint64 createdAt = 2;
|
||||
uint32 sort = 3;
|
||||
string content = 4;
|
||||
string attachment = 5;
|
||||
string attachmentName = 6;
|
||||
uint32 status = 7;
|
||||
uint32 display = 8;
|
||||
string summary = 9;
|
||||
string operator = 10;
|
||||
int32 operatorId = 11;
|
||||
}
|
||||
|
||||
message CreateResp{
|
||||
|
||||
}
|
||||
|
||||
message DeleteReq{
|
||||
uint32 id = 1;
|
||||
}
|
||||
|
||||
message DeleteResp{
|
||||
|
||||
}
|
||||
|
||||
message GetReq{
|
||||
int64 id = 1;
|
||||
}
|
||||
|
||||
message GetResp{
|
||||
uint32 id = 1;
|
||||
string title = 2;
|
||||
uint64 createdAt = 3;
|
||||
string content = 4;
|
||||
string attachment = 5;
|
||||
string attachmentName = 6;
|
||||
string summary = 7;
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: press_releases.proto
|
||||
// source: api/pressreleases/press_releases.proto
|
||||
|
||||
package pressreleases
|
||||
|
||||
@ -15,7 +15,23 @@ var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *Item) Validate() error {
|
||||
func (this *LangSetting) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *PressReleasesLang) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *PressReleasesData) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ListReq) Validate() error {
|
||||
@ -31,6 +47,25 @@ func (this *ListResp) Validate() error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *InfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *InfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
@ -45,12 +80,26 @@ func (this *DisplayResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateResp) Validate() error {
|
||||
@ -66,5 +115,10 @@ func (this *GetReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetResp) Validate() error {
|
||||
if this.Data != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Data); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.8
|
||||
// - protoc v3.20.3
|
||||
// source: press_releases.proto
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v5.26.0
|
||||
// source: api/pressreleases/press_releases.proto
|
||||
|
||||
package pressreleases
|
||||
|
||||
@ -29,6 +29,8 @@ const _ = grpc_go.SupportPackageIsVersion7
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type PressReleasesClient interface {
|
||||
List(ctx context.Context, in *ListReq, opts ...grpc_go.CallOption) (*ListResp, common.ErrorWithAttachment)
|
||||
SortAndStatus(ctx context.Context, in *SortAndStatusReq, opts ...grpc_go.CallOption) (*SortAndStatusResp, common.ErrorWithAttachment)
|
||||
Info(ctx context.Context, in *InfoReq, opts ...grpc_go.CallOption) (*InfoResp, common.ErrorWithAttachment)
|
||||
Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment)
|
||||
Edit(ctx context.Context, in *EditReq, opts ...grpc_go.CallOption) (*EditResp, common.ErrorWithAttachment)
|
||||
Create(ctx context.Context, in *CreateReq, opts ...grpc_go.CallOption) (*CreateResp, common.ErrorWithAttachment)
|
||||
@ -41,12 +43,14 @@ type pressReleasesClient struct {
|
||||
}
|
||||
|
||||
type PressReleasesClientImpl struct {
|
||||
List func(ctx context.Context, in *ListReq) (*ListResp, error)
|
||||
Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error)
|
||||
Edit func(ctx context.Context, in *EditReq) (*EditResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Get func(ctx context.Context, in *GetReq) (*GetResp, error)
|
||||
List func(ctx context.Context, in *ListReq) (*ListResp, error)
|
||||
SortAndStatus func(ctx context.Context, in *SortAndStatusReq) (*SortAndStatusResp, error)
|
||||
Info func(ctx context.Context, in *InfoReq) (*InfoResp, error)
|
||||
Display func(ctx context.Context, in *DisplayReq) (*DisplayResp, error)
|
||||
Edit func(ctx context.Context, in *EditReq) (*EditResp, error)
|
||||
Create func(ctx context.Context, in *CreateReq) (*CreateResp, error)
|
||||
Delete func(ctx context.Context, in *DeleteReq) (*DeleteResp, error)
|
||||
Get func(ctx context.Context, in *GetReq) (*GetResp, error)
|
||||
}
|
||||
|
||||
func (c *PressReleasesClientImpl) GetDubboStub(cc *triple.TripleConn) PressReleasesClient {
|
||||
@ -67,6 +71,18 @@ func (c *pressReleasesClient) List(ctx context.Context, in *ListReq, opts ...grp
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out)
|
||||
}
|
||||
|
||||
func (c *pressReleasesClient) SortAndStatus(ctx context.Context, in *SortAndStatusReq, opts ...grpc_go.CallOption) (*SortAndStatusResp, common.ErrorWithAttachment) {
|
||||
out := new(SortAndStatusResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatus", in, out)
|
||||
}
|
||||
|
||||
func (c *pressReleasesClient) Info(ctx context.Context, in *InfoReq, opts ...grpc_go.CallOption) (*InfoResp, common.ErrorWithAttachment) {
|
||||
out := new(InfoResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Info", in, out)
|
||||
}
|
||||
|
||||
func (c *pressReleasesClient) Display(ctx context.Context, in *DisplayReq, opts ...grpc_go.CallOption) (*DisplayResp, common.ErrorWithAttachment) {
|
||||
out := new(DisplayResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -102,6 +118,8 @@ func (c *pressReleasesClient) Get(ctx context.Context, in *GetReq, opts ...grpc_
|
||||
// for forward compatibility
|
||||
type PressReleasesServer interface {
|
||||
List(context.Context, *ListReq) (*ListResp, error)
|
||||
SortAndStatus(context.Context, *SortAndStatusReq) (*SortAndStatusResp, error)
|
||||
Info(context.Context, *InfoReq) (*InfoResp, error)
|
||||
Display(context.Context, *DisplayReq) (*DisplayResp, error)
|
||||
Edit(context.Context, *EditReq) (*EditResp, error)
|
||||
Create(context.Context, *CreateReq) (*CreateResp, error)
|
||||
@ -118,6 +136,12 @@ type UnimplementedPressReleasesServer struct {
|
||||
func (UnimplementedPressReleasesServer) List(context.Context, *ListReq) (*ListResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
|
||||
}
|
||||
func (UnimplementedPressReleasesServer) SortAndStatus(context.Context, *SortAndStatusReq) (*SortAndStatusResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SortAndStatus not implemented")
|
||||
}
|
||||
func (UnimplementedPressReleasesServer) Info(context.Context, *InfoReq) (*InfoResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
|
||||
}
|
||||
func (UnimplementedPressReleasesServer) Display(context.Context, *DisplayReq) (*DisplayResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Display not implemented")
|
||||
}
|
||||
@ -190,6 +214,64 @@ func _PressReleases_List_Handler(srv interface{}, ctx context.Context, dec func(
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _PressReleases_SortAndStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(SortAndStatusReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("SortAndStatus", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _PressReleases_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(InfoReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("Info", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _PressReleases_Display_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DisplayReq)
|
||||
if err := dec(in); err != nil {
|
||||
@ -346,6 +428,14 @@ var PressReleases_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "List",
|
||||
Handler: _PressReleases_List_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SortAndStatus",
|
||||
Handler: _PressReleases_SortAndStatus_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Info",
|
||||
Handler: _PressReleases_Info_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Display",
|
||||
Handler: _PressReleases_Display_Handler,
|
||||
@ -368,5 +458,5 @@ var PressReleases_ServiceDesc = grpc_go.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "press_releases.proto",
|
||||
Metadata: "api/pressreleases/press_releases.proto",
|
||||
}
|
||||
|
||||
3439
api/reports/reports.pb.go
Normal file
3439
api/reports/reports.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
227
api/reports/reports.validator.pb.go
Normal file
227
api/reports/reports.validator.pb.go
Normal file
@ -0,0 +1,227 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: api/reports/reports.proto
|
||||
|
||||
package reports
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *Filtrate) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *FiltrateWeb) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *LangSetting) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *AnnualReport) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AnnualReportLang) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *QuarterlyReport) Validate() error {
|
||||
for _, item := range this.LangSetting {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("LangSetting", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *QuarterlyReportLang) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAnnualReportListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetAnnualReportListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetAnnualReportInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetAnnualReportInfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddAnnualReportReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddAnnualReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusAnnualReportReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusAnnualReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditAnnualReportReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditAnnualReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteAnnualReportReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteAnnualReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayAnnualReportReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayAnnualReportResp) Validate() error {
|
||||
for _, item := range this.Item {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Item", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayAnnualReportItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetQuarterlyReportListReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetQuarterlyReportListResp) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *GetQuarterlyReportInfoReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetQuarterlyReportInfoResp) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddQuarterlyReportReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *AddQuarterlyReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusQuarterlyReportReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SortAndStatusQuarterlyReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EditQuarterlyReportReq) Validate() error {
|
||||
for _, item := range this.DataByLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("DataByLang", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *EditQuarterlyReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteQuarterlyReportReq) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DeleteQuarterlyReportResp) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayQuarterlyReportReq) Validate() error {
|
||||
if this.Filtrate != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filtrate); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Filtrate", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayQuarterlyReportResp) Validate() error {
|
||||
for _, item := range this.Item {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Item", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *DisplayQuarterlyReportItem) Validate() error {
|
||||
return nil
|
||||
}
|
||||
736
api/reports/reports_triple.pb.go
Normal file
736
api/reports/reports_triple.pb.go
Normal file
@ -0,0 +1,736 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v5.26.0
|
||||
// source: api/reports/reports.proto
|
||||
|
||||
package reports
|
||||
|
||||
import (
|
||||
context "context"
|
||||
protocol "dubbo.apache.org/dubbo-go/v3/protocol"
|
||||
dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
|
||||
invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
|
||||
grpc_go "github.com/dubbogo/grpc-go"
|
||||
codes "github.com/dubbogo/grpc-go/codes"
|
||||
metadata "github.com/dubbogo/grpc-go/metadata"
|
||||
status "github.com/dubbogo/grpc-go/status"
|
||||
common "github.com/dubbogo/triple/pkg/common"
|
||||
constant "github.com/dubbogo/triple/pkg/common/constant"
|
||||
triple "github.com/dubbogo/triple/pkg/triple"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc_go.SupportPackageIsVersion7
|
||||
|
||||
// ReportsClient is the client API for Reports service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type ReportsClient interface {
|
||||
// ==================================年度报告======================================
|
||||
GetAnnualReportList(ctx context.Context, in *GetAnnualReportListReq, opts ...grpc_go.CallOption) (*GetAnnualReportListResp, common.ErrorWithAttachment)
|
||||
GetAnnualReportInfo(ctx context.Context, in *GetAnnualReportInfoReq, opts ...grpc_go.CallOption) (*GetAnnualReportInfoResp, common.ErrorWithAttachment)
|
||||
AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment)
|
||||
SortAndStatusAnnualReport(ctx context.Context, in *SortAndStatusAnnualReportReq, opts ...grpc_go.CallOption) (*SortAndStatusAnnualReportResp, common.ErrorWithAttachment)
|
||||
EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment)
|
||||
DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment)
|
||||
DisplayAnnualReport(ctx context.Context, in *DisplayAnnualReportReq, opts ...grpc_go.CallOption) (*DisplayAnnualReportResp, common.ErrorWithAttachment)
|
||||
// ==================================季度报告======================================
|
||||
GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment)
|
||||
GetQuarterlyReportInfo(ctx context.Context, in *GetQuarterlyReportInfoReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportInfoResp, common.ErrorWithAttachment)
|
||||
AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment)
|
||||
SortAndStatusQuarterlyReport(ctx context.Context, in *SortAndStatusQuarterlyReportReq, opts ...grpc_go.CallOption) (*SortAndStatusQuarterlyReportResp, common.ErrorWithAttachment)
|
||||
EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment)
|
||||
DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment)
|
||||
DisplayQuarterlyReport(ctx context.Context, in *DisplayQuarterlyReportReq, opts ...grpc_go.CallOption) (*DisplayQuarterlyReportResp, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type reportsClient struct {
|
||||
cc *triple.TripleConn
|
||||
}
|
||||
|
||||
type ReportsClientImpl struct {
|
||||
GetAnnualReportList func(ctx context.Context, in *GetAnnualReportListReq) (*GetAnnualReportListResp, error)
|
||||
GetAnnualReportInfo func(ctx context.Context, in *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error)
|
||||
AddAnnualReport func(ctx context.Context, in *AddAnnualReportReq) (*AddAnnualReportResp, error)
|
||||
SortAndStatusAnnualReport func(ctx context.Context, in *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error)
|
||||
EditAnnualReport func(ctx context.Context, in *EditAnnualReportReq) (*EditAnnualReportResp, error)
|
||||
DeleteAnnualReport func(ctx context.Context, in *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error)
|
||||
DisplayAnnualReport func(ctx context.Context, in *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error)
|
||||
GetQuarterlyReportList func(ctx context.Context, in *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error)
|
||||
GetQuarterlyReportInfo func(ctx context.Context, in *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error)
|
||||
AddQuarterlyReport func(ctx context.Context, in *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error)
|
||||
SortAndStatusQuarterlyReport func(ctx context.Context, in *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error)
|
||||
EditQuarterlyReport func(ctx context.Context, in *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error)
|
||||
DeleteQuarterlyReport func(ctx context.Context, in *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error)
|
||||
DisplayQuarterlyReport func(ctx context.Context, in *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error)
|
||||
}
|
||||
|
||||
func (c *ReportsClientImpl) GetDubboStub(cc *triple.TripleConn) ReportsClient {
|
||||
return NewReportsClient(cc)
|
||||
}
|
||||
|
||||
func (c *ReportsClientImpl) XXX_InterfaceName() string {
|
||||
return "reports.Reports"
|
||||
}
|
||||
|
||||
func NewReportsClient(cc *triple.TripleConn) ReportsClient {
|
||||
return &reportsClient{cc}
|
||||
}
|
||||
|
||||
func (c *reportsClient) GetAnnualReportList(ctx context.Context, in *GetAnnualReportListReq, opts ...grpc_go.CallOption) (*GetAnnualReportListResp, common.ErrorWithAttachment) {
|
||||
out := new(GetAnnualReportListResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAnnualReportList", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) GetAnnualReportInfo(ctx context.Context, in *GetAnnualReportInfoReq, opts ...grpc_go.CallOption) (*GetAnnualReportInfoResp, common.ErrorWithAttachment) {
|
||||
out := new(GetAnnualReportInfoResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetAnnualReportInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) AddAnnualReport(ctx context.Context, in *AddAnnualReportReq, opts ...grpc_go.CallOption) (*AddAnnualReportResp, common.ErrorWithAttachment) {
|
||||
out := new(AddAnnualReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddAnnualReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) SortAndStatusAnnualReport(ctx context.Context, in *SortAndStatusAnnualReportReq, opts ...grpc_go.CallOption) (*SortAndStatusAnnualReportResp, common.ErrorWithAttachment) {
|
||||
out := new(SortAndStatusAnnualReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusAnnualReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) EditAnnualReport(ctx context.Context, in *EditAnnualReportReq, opts ...grpc_go.CallOption) (*EditAnnualReportResp, common.ErrorWithAttachment) {
|
||||
out := new(EditAnnualReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditAnnualReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) DeleteAnnualReport(ctx context.Context, in *DeleteAnnualReportReq, opts ...grpc_go.CallOption) (*DeleteAnnualReportResp, common.ErrorWithAttachment) {
|
||||
out := new(DeleteAnnualReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteAnnualReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) DisplayAnnualReport(ctx context.Context, in *DisplayAnnualReportReq, opts ...grpc_go.CallOption) (*DisplayAnnualReportResp, common.ErrorWithAttachment) {
|
||||
out := new(DisplayAnnualReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayAnnualReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) GetQuarterlyReportList(ctx context.Context, in *GetQuarterlyReportListReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportListResp, common.ErrorWithAttachment) {
|
||||
out := new(GetQuarterlyReportListResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetQuarterlyReportList", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) GetQuarterlyReportInfo(ctx context.Context, in *GetQuarterlyReportInfoReq, opts ...grpc_go.CallOption) (*GetQuarterlyReportInfoResp, common.ErrorWithAttachment) {
|
||||
out := new(GetQuarterlyReportInfoResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetQuarterlyReportInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) AddQuarterlyReport(ctx context.Context, in *AddQuarterlyReportReq, opts ...grpc_go.CallOption) (*AddQuarterlyReportResp, common.ErrorWithAttachment) {
|
||||
out := new(AddQuarterlyReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddQuarterlyReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) SortAndStatusQuarterlyReport(ctx context.Context, in *SortAndStatusQuarterlyReportReq, opts ...grpc_go.CallOption) (*SortAndStatusQuarterlyReportResp, common.ErrorWithAttachment) {
|
||||
out := new(SortAndStatusQuarterlyReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SortAndStatusQuarterlyReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) EditQuarterlyReport(ctx context.Context, in *EditQuarterlyReportReq, opts ...grpc_go.CallOption) (*EditQuarterlyReportResp, common.ErrorWithAttachment) {
|
||||
out := new(EditQuarterlyReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditQuarterlyReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) DeleteQuarterlyReport(ctx context.Context, in *DeleteQuarterlyReportReq, opts ...grpc_go.CallOption) (*DeleteQuarterlyReportResp, common.ErrorWithAttachment) {
|
||||
out := new(DeleteQuarterlyReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteQuarterlyReport", in, out)
|
||||
}
|
||||
|
||||
func (c *reportsClient) DisplayQuarterlyReport(ctx context.Context, in *DisplayQuarterlyReportReq, opts ...grpc_go.CallOption) (*DisplayQuarterlyReportResp, common.ErrorWithAttachment) {
|
||||
out := new(DisplayQuarterlyReportResp)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DisplayQuarterlyReport", in, out)
|
||||
}
|
||||
|
||||
// ReportsServer is the server API for Reports service.
|
||||
// All implementations must embed UnimplementedReportsServer
|
||||
// for forward compatibility
|
||||
type ReportsServer interface {
|
||||
// ==================================年度报告======================================
|
||||
GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error)
|
||||
GetAnnualReportInfo(context.Context, *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error)
|
||||
AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error)
|
||||
SortAndStatusAnnualReport(context.Context, *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error)
|
||||
EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error)
|
||||
DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error)
|
||||
DisplayAnnualReport(context.Context, *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error)
|
||||
// ==================================季度报告======================================
|
||||
GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error)
|
||||
GetQuarterlyReportInfo(context.Context, *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error)
|
||||
AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error)
|
||||
SortAndStatusQuarterlyReport(context.Context, *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error)
|
||||
EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error)
|
||||
DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error)
|
||||
DisplayQuarterlyReport(context.Context, *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error)
|
||||
mustEmbedUnimplementedReportsServer()
|
||||
}
|
||||
|
||||
// UnimplementedReportsServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedReportsServer struct {
|
||||
proxyImpl protocol.Invoker
|
||||
}
|
||||
|
||||
func (UnimplementedReportsServer) GetAnnualReportList(context.Context, *GetAnnualReportListReq) (*GetAnnualReportListResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetAnnualReportList not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) GetAnnualReportInfo(context.Context, *GetAnnualReportInfoReq) (*GetAnnualReportInfoResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetAnnualReportInfo not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) AddAnnualReport(context.Context, *AddAnnualReportReq) (*AddAnnualReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddAnnualReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) SortAndStatusAnnualReport(context.Context, *SortAndStatusAnnualReportReq) (*SortAndStatusAnnualReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusAnnualReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) EditAnnualReport(context.Context, *EditAnnualReportReq) (*EditAnnualReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method EditAnnualReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) DeleteAnnualReport(context.Context, *DeleteAnnualReportReq) (*DeleteAnnualReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteAnnualReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) DisplayAnnualReport(context.Context, *DisplayAnnualReportReq) (*DisplayAnnualReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DisplayAnnualReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) GetQuarterlyReportList(context.Context, *GetQuarterlyReportListReq) (*GetQuarterlyReportListResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportList not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) GetQuarterlyReportInfo(context.Context, *GetQuarterlyReportInfoReq) (*GetQuarterlyReportInfoResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetQuarterlyReportInfo not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) AddQuarterlyReport(context.Context, *AddQuarterlyReportReq) (*AddQuarterlyReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AddQuarterlyReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) SortAndStatusQuarterlyReport(context.Context, *SortAndStatusQuarterlyReportReq) (*SortAndStatusQuarterlyReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SortAndStatusQuarterlyReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) EditQuarterlyReport(context.Context, *EditQuarterlyReportReq) (*EditQuarterlyReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method EditQuarterlyReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) DeleteQuarterlyReport(context.Context, *DeleteQuarterlyReportReq) (*DeleteQuarterlyReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteQuarterlyReport not implemented")
|
||||
}
|
||||
func (UnimplementedReportsServer) DisplayQuarterlyReport(context.Context, *DisplayQuarterlyReportReq) (*DisplayQuarterlyReportResp, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DisplayQuarterlyReport not implemented")
|
||||
}
|
||||
func (s *UnimplementedReportsServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
|
||||
func (s *UnimplementedReportsServer) XXX_GetProxyImpl() protocol.Invoker {
|
||||
return s.proxyImpl
|
||||
}
|
||||
|
||||
func (s *UnimplementedReportsServer) XXX_ServiceDesc() *grpc_go.ServiceDesc {
|
||||
return &Reports_ServiceDesc
|
||||
}
|
||||
func (s *UnimplementedReportsServer) XXX_InterfaceName() string {
|
||||
return "reports.Reports"
|
||||
}
|
||||
|
||||
func (UnimplementedReportsServer) mustEmbedUnimplementedReportsServer() {}
|
||||
|
||||
// UnsafeReportsServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to ReportsServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeReportsServer interface {
|
||||
mustEmbedUnimplementedReportsServer()
|
||||
}
|
||||
|
||||
func RegisterReportsServer(s grpc_go.ServiceRegistrar, srv ReportsServer) {
|
||||
s.RegisterService(&Reports_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _Reports_GetAnnualReportList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetAnnualReportListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetAnnualReportList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_GetAnnualReportInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetAnnualReportInfoReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetAnnualReportInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_AddAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddAnnualReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("AddAnnualReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_SortAndStatusAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(SortAndStatusAnnualReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("SortAndStatusAnnualReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_EditAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(EditAnnualReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("EditAnnualReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_DeleteAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteAnnualReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("DeleteAnnualReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_DisplayAnnualReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DisplayAnnualReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("DisplayAnnualReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_GetQuarterlyReportList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetQuarterlyReportListReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetQuarterlyReportList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_GetQuarterlyReportInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetQuarterlyReportInfoReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetQuarterlyReportInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_AddQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(AddQuarterlyReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("AddQuarterlyReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_SortAndStatusQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(SortAndStatusQuarterlyReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("SortAndStatusQuarterlyReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_EditQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(EditQuarterlyReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("EditQuarterlyReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_DeleteQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DeleteQuarterlyReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("DeleteQuarterlyReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Reports_DisplayQuarterlyReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DisplayQuarterlyReportReq)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("DisplayQuarterlyReport", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// Reports_ServiceDesc is the grpc_go.ServiceDesc for Reports service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var Reports_ServiceDesc = grpc_go.ServiceDesc{
|
||||
ServiceName: "reports.Reports",
|
||||
HandlerType: (*ReportsServer)(nil),
|
||||
Methods: []grpc_go.MethodDesc{
|
||||
{
|
||||
MethodName: "GetAnnualReportList",
|
||||
Handler: _Reports_GetAnnualReportList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetAnnualReportInfo",
|
||||
Handler: _Reports_GetAnnualReportInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AddAnnualReport",
|
||||
Handler: _Reports_AddAnnualReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SortAndStatusAnnualReport",
|
||||
Handler: _Reports_SortAndStatusAnnualReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "EditAnnualReport",
|
||||
Handler: _Reports_EditAnnualReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteAnnualReport",
|
||||
Handler: _Reports_DeleteAnnualReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DisplayAnnualReport",
|
||||
Handler: _Reports_DisplayAnnualReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetQuarterlyReportList",
|
||||
Handler: _Reports_GetQuarterlyReportList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetQuarterlyReportInfo",
|
||||
Handler: _Reports_GetQuarterlyReportInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AddQuarterlyReport",
|
||||
Handler: _Reports_AddQuarterlyReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "SortAndStatusQuarterlyReport",
|
||||
Handler: _Reports_SortAndStatusQuarterlyReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "EditQuarterlyReport",
|
||||
Handler: _Reports_EditQuarterlyReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DeleteQuarterlyReport",
|
||||
Handler: _Reports_DeleteQuarterlyReport_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DisplayQuarterlyReport",
|
||||
Handler: _Reports_DisplayQuarterlyReport_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "api/reports/reports.proto",
|
||||
}
|
||||
2245
api/supplier/supplier.pb.go
Normal file
2245
api/supplier/supplier.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
212
api/supplier/supplier.proto
Normal file
212
api/supplier/supplier.proto
Normal file
@ -0,0 +1,212 @@
|
||||
syntax = "proto3";
|
||||
package supplier;
|
||||
|
||||
option go_package = "./;supplier";
|
||||
|
||||
// FiEE供应商微服务
|
||||
service Supplier {
|
||||
//供应商curd
|
||||
rpc GetSupplier(GetSupplierRequest) returns (UpdateSupplierRequest) {}
|
||||
rpc CreateSupplier(CreateSupplierRequest) returns (CreateSupplierResponse) {}
|
||||
rpc UpdateSupplier(UpdateSupplierRequest) returns (CreateSupplierResponse) {}
|
||||
rpc GetSupplierList(GetSupplierListRequest) returns (GetSupplierListResponse) {}
|
||||
//组织字典
|
||||
rpc CreateOrganizeDictionary(CreateOrganizeDictionaryRequest) returns (CreateOrganizeDictionaryResponse) {}
|
||||
rpc GetOrganizeDictionaryList(GetOrganizeDictionaryListRequest) returns (GetOrganizeDictionaryListResponse) {}
|
||||
rpc GetOrganizeDictionaryInfo(CreateOrganizeDictionaryRequest) returns (OrganizeDictionary) {}
|
||||
//国家组织
|
||||
rpc GetCountryRegionList(GetCountryRegionListRequest) returns (GetCountryRegionListResponse) {}
|
||||
rpc GetCountryRegionInfo(GetCountryRegionInfoRequest) returns (CountryRegion) {}
|
||||
//导入
|
||||
rpc CreateImportRecord(CreateImportRecordRequest) returns (CreateImportRecordResponse) {}
|
||||
rpc GetImportRecordInfo(GetImportRecordRequest) returns (GetImportRecordResponse) {}
|
||||
}
|
||||
message GetImportRecordRequest{
|
||||
string uuid = 1;
|
||||
}
|
||||
message GetImportRecordResponse{
|
||||
uint64 successNum = 1;
|
||||
uint64 failNum = 2;
|
||||
string deriveUrl = 3;
|
||||
}
|
||||
message CreateImportRecordRequest{
|
||||
repeated string supplierCodes = 1;
|
||||
uint64 status = 2;
|
||||
uint64 userId = 3;
|
||||
string toLeadUrl = 4;
|
||||
string deriveUrl = 5;
|
||||
string uuid = 6;
|
||||
uint64 successNum = 7;
|
||||
uint64 failNum = 8;
|
||||
}
|
||||
message CreateImportRecordResponse{
|
||||
uint64 id = 1;
|
||||
}
|
||||
message GetCountryRegionListResponse{
|
||||
repeated CountryRegion data = 1;
|
||||
uint64 page = 2;
|
||||
uint64 pageSize = 3;
|
||||
uint64 total = 4;
|
||||
}
|
||||
message CountryRegion{
|
||||
uint64 id = 1;
|
||||
string nameEN = 2;
|
||||
string nameCN = 3;
|
||||
string code = 4;
|
||||
}
|
||||
message GetCountryRegionInfoRequest{
|
||||
string zhAndCode = 1;
|
||||
}
|
||||
message GetCountryRegionListRequest{
|
||||
uint64 page = 1;
|
||||
uint64 pageSize = 2;
|
||||
string nameEN = 3;
|
||||
string nameCN = 4;
|
||||
string code = 5;
|
||||
}
|
||||
message OrganizeDictionary{
|
||||
uint64 id = 1;
|
||||
string name = 2;
|
||||
}
|
||||
message GetOrganizeDictionaryListResponse{
|
||||
repeated OrganizeDictionary data = 1;
|
||||
uint64 page = 2;
|
||||
uint64 pageSize = 3;
|
||||
uint64 total = 4;
|
||||
}
|
||||
message CreateOrganizeDictionaryRequest{
|
||||
string name = 1;
|
||||
}
|
||||
message CreateOrganizeDictionaryResponse{
|
||||
uint64 id = 1;
|
||||
}
|
||||
message GetOrganizeDictionaryListRequest{
|
||||
uint64 page = 1;
|
||||
uint64 pageSize = 2;
|
||||
string name = 3;
|
||||
}
|
||||
message GetSupplierListRequest{
|
||||
uint64 page = 1;
|
||||
uint64 pageSize = 2;
|
||||
uint64 owningEntityId = 3;
|
||||
string supplierUniqueCode = 4;
|
||||
string legalName =5;
|
||||
string localName = 6;
|
||||
string abbreviationName =7;
|
||||
uint64 countryOrRegionId = 8;
|
||||
string companyRegistrationNumber =9;
|
||||
string supplierType =10;
|
||||
string approvalStatus = 11;
|
||||
string approvalDateStart = 12;
|
||||
string approvalDateEnd = 13;
|
||||
string lastReviewDateStart = 14;
|
||||
string lastReviewDateEnd = 15;
|
||||
string legalEntityType = 16;
|
||||
string sanctionsCountryScreeningResult = 17;
|
||||
string keyFinancial = 18;
|
||||
string companyAddress = 19;
|
||||
string primaryContact = 20;
|
||||
string dataOwnerDepartment = 21;
|
||||
string basicCompanyInformation = 22;
|
||||
uint64 status = 23;
|
||||
string updateStart = 24;
|
||||
string updateEnd = 25;
|
||||
string connectedParty = 26;
|
||||
}
|
||||
message GetSupplierListResponse{
|
||||
uint64 total = 1;
|
||||
repeated SupplierInfo data = 2;
|
||||
uint64 page = 3;
|
||||
uint64 pageSize = 4;
|
||||
}
|
||||
message SupplierInfo{
|
||||
uint64 id = 1;
|
||||
uint64 owningEntityId = 2;
|
||||
string legalName = 3;
|
||||
string localName = 4;
|
||||
string abbreviationName = 5;
|
||||
uint64 countryOrRegionId = 6;
|
||||
string companyRegistrationNumber = 7;
|
||||
string supplierType = 8;
|
||||
string approvalStatus = 9;
|
||||
string approvalDate = 10;
|
||||
string lastReviewDate = 11;
|
||||
string legalEntityType = 12;
|
||||
string sanctionsCountryScreeningResult = 13;
|
||||
string keyFinancial = 14;
|
||||
string companyAddress = 15;
|
||||
string primaryContact = 16;
|
||||
string dataOwnerDepartment = 17;
|
||||
string basicCompanyInformation = 18;
|
||||
string linkAddress = 19;
|
||||
string supplementaryText = 20;
|
||||
repeated attachment attachments = 21;
|
||||
uint64 status = 22;
|
||||
string createdAt = 23;
|
||||
string updatedAt = 24;
|
||||
string supplierUniqueCode = 25;
|
||||
string owningEntityName = 26;
|
||||
string countryOrRegionCode = 27;
|
||||
string connectedParty = 28;
|
||||
}
|
||||
message UpdateSupplierRequest{
|
||||
uint64 id = 1;
|
||||
uint64 owningEntityId = 2;
|
||||
string legalName = 3;
|
||||
string localName = 4;
|
||||
string abbreviationName = 5;
|
||||
uint64 countryOrRegionId = 6;
|
||||
string companyRegistrationNumber = 7;
|
||||
string supplierType = 8;
|
||||
string approvalStatus = 9;
|
||||
string approvalDate = 10;
|
||||
string lastReviewDate = 11;
|
||||
string legalEntityType = 12;
|
||||
string sanctionsCountryScreeningResult = 13;
|
||||
string keyFinancial = 14;
|
||||
string companyAddress = 15;
|
||||
string primaryContact = 16;
|
||||
string dataOwnerDepartment = 17;
|
||||
string basicCompanyInformation = 18;
|
||||
string linkAddress = 19;
|
||||
string supplementaryText = 20;
|
||||
repeated attachment attachments = 21;
|
||||
uint64 status = 22;
|
||||
string connectedParty = 23;
|
||||
}
|
||||
message CreateSupplierRequest{
|
||||
uint64 owningEntityId = 1;
|
||||
string legalName = 2;
|
||||
string localName = 3;
|
||||
string abbreviationName = 4;
|
||||
uint64 countryOrRegionId = 5;
|
||||
string companyRegistrationNumber = 6;
|
||||
string supplierType = 7;
|
||||
string approvalStatus = 8;
|
||||
string approvalDate = 9;
|
||||
string lastReviewDate = 10;
|
||||
string legalEntityType = 11;
|
||||
string sanctionsCountryScreeningResult = 12;
|
||||
string keyFinancial = 13;
|
||||
string companyAddress = 14;
|
||||
string primaryContact = 15;
|
||||
string dataOwnerDepartment = 16;
|
||||
string basicCompanyInformation = 17;
|
||||
string linkAddress = 18;
|
||||
string supplementaryText = 19;
|
||||
repeated attachment attachments = 20;
|
||||
uint64 status = 21;
|
||||
string connectedParty = 22;
|
||||
}
|
||||
message attachment{
|
||||
string url = 1;
|
||||
string type = 2;
|
||||
string name = 3;
|
||||
}
|
||||
message CreateSupplierResponse{
|
||||
uint64 id = 1;
|
||||
string supplierCode = 2;
|
||||
}
|
||||
message GetSupplierRequest{
|
||||
uint64 id = 1;
|
||||
}
|
||||
122
api/supplier/supplier.validator.pb.go
Normal file
122
api/supplier/supplier.validator.pb.go
Normal file
@ -0,0 +1,122 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: api/supplier/supplier.proto
|
||||
|
||||
package supplier
|
||||
|
||||
import (
|
||||
fmt "fmt"
|
||||
math "math"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
var _ = fmt.Errorf
|
||||
var _ = math.Inf
|
||||
|
||||
func (this *GetImportRecordRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetImportRecordResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateImportRecordRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateImportRecordResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetCountryRegionListResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CountryRegion) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetCountryRegionInfoRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetCountryRegionListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *OrganizeDictionary) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetOrganizeDictionaryListResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateOrganizeDictionaryRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateOrganizeDictionaryResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetOrganizeDictionaryListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetSupplierListRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetSupplierListResponse) Validate() error {
|
||||
for _, item := range this.Data {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Data", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *SupplierInfo) Validate() error {
|
||||
for _, item := range this.Attachments {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Attachments", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateSupplierRequest) Validate() error {
|
||||
for _, item := range this.Attachments {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Attachments", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *CreateSupplierRequest) Validate() error {
|
||||
for _, item := range this.Attachments {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Attachments", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *Attachment) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CreateSupplierResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *GetSupplierRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
605
api/supplier/supplier_triple.pb.go
Normal file
605
api/supplier/supplier_triple.pb.go
Normal file
@ -0,0 +1,605 @@
|
||||
// Code generated by protoc-gen-go-triple. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-triple v1.0.5
|
||||
// - protoc v6.32.0
|
||||
// source: api/supplier/supplier.proto
|
||||
|
||||
package supplier
|
||||
|
||||
import (
|
||||
context "context"
|
||||
protocol "dubbo.apache.org/dubbo-go/v3/protocol"
|
||||
dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
|
||||
invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
|
||||
grpc_go "github.com/dubbogo/grpc-go"
|
||||
codes "github.com/dubbogo/grpc-go/codes"
|
||||
metadata "github.com/dubbogo/grpc-go/metadata"
|
||||
status "github.com/dubbogo/grpc-go/status"
|
||||
common "github.com/dubbogo/triple/pkg/common"
|
||||
constant "github.com/dubbogo/triple/pkg/common/constant"
|
||||
triple "github.com/dubbogo/triple/pkg/triple"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc_go.SupportPackageIsVersion7
|
||||
|
||||
// SupplierClient is the client API for Supplier service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type SupplierClient interface {
|
||||
// 供应商curd
|
||||
GetSupplier(ctx context.Context, in *GetSupplierRequest, opts ...grpc_go.CallOption) (*UpdateSupplierRequest, common.ErrorWithAttachment)
|
||||
CreateSupplier(ctx context.Context, in *CreateSupplierRequest, opts ...grpc_go.CallOption) (*CreateSupplierResponse, common.ErrorWithAttachment)
|
||||
UpdateSupplier(ctx context.Context, in *UpdateSupplierRequest, opts ...grpc_go.CallOption) (*CreateSupplierResponse, common.ErrorWithAttachment)
|
||||
GetSupplierList(ctx context.Context, in *GetSupplierListRequest, opts ...grpc_go.CallOption) (*GetSupplierListResponse, common.ErrorWithAttachment)
|
||||
// 组织字典
|
||||
CreateOrganizeDictionary(ctx context.Context, in *CreateOrganizeDictionaryRequest, opts ...grpc_go.CallOption) (*CreateOrganizeDictionaryResponse, common.ErrorWithAttachment)
|
||||
GetOrganizeDictionaryList(ctx context.Context, in *GetOrganizeDictionaryListRequest, opts ...grpc_go.CallOption) (*GetOrganizeDictionaryListResponse, common.ErrorWithAttachment)
|
||||
GetOrganizeDictionaryInfo(ctx context.Context, in *CreateOrganizeDictionaryRequest, opts ...grpc_go.CallOption) (*OrganizeDictionary, common.ErrorWithAttachment)
|
||||
// 国家组织
|
||||
GetCountryRegionList(ctx context.Context, in *GetCountryRegionListRequest, opts ...grpc_go.CallOption) (*GetCountryRegionListResponse, common.ErrorWithAttachment)
|
||||
GetCountryRegionInfo(ctx context.Context, in *GetCountryRegionInfoRequest, opts ...grpc_go.CallOption) (*CountryRegion, common.ErrorWithAttachment)
|
||||
// 导入
|
||||
CreateImportRecord(ctx context.Context, in *CreateImportRecordRequest, opts ...grpc_go.CallOption) (*CreateImportRecordResponse, common.ErrorWithAttachment)
|
||||
GetImportRecordInfo(ctx context.Context, in *GetImportRecordRequest, opts ...grpc_go.CallOption) (*GetImportRecordResponse, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type supplierClient struct {
|
||||
cc *triple.TripleConn
|
||||
}
|
||||
|
||||
type SupplierClientImpl struct {
|
||||
GetSupplier func(ctx context.Context, in *GetSupplierRequest) (*UpdateSupplierRequest, error)
|
||||
CreateSupplier func(ctx context.Context, in *CreateSupplierRequest) (*CreateSupplierResponse, error)
|
||||
UpdateSupplier func(ctx context.Context, in *UpdateSupplierRequest) (*CreateSupplierResponse, error)
|
||||
GetSupplierList func(ctx context.Context, in *GetSupplierListRequest) (*GetSupplierListResponse, error)
|
||||
CreateOrganizeDictionary func(ctx context.Context, in *CreateOrganizeDictionaryRequest) (*CreateOrganizeDictionaryResponse, error)
|
||||
GetOrganizeDictionaryList func(ctx context.Context, in *GetOrganizeDictionaryListRequest) (*GetOrganizeDictionaryListResponse, error)
|
||||
GetOrganizeDictionaryInfo func(ctx context.Context, in *CreateOrganizeDictionaryRequest) (*OrganizeDictionary, error)
|
||||
GetCountryRegionList func(ctx context.Context, in *GetCountryRegionListRequest) (*GetCountryRegionListResponse, error)
|
||||
GetCountryRegionInfo func(ctx context.Context, in *GetCountryRegionInfoRequest) (*CountryRegion, error)
|
||||
CreateImportRecord func(ctx context.Context, in *CreateImportRecordRequest) (*CreateImportRecordResponse, error)
|
||||
GetImportRecordInfo func(ctx context.Context, in *GetImportRecordRequest) (*GetImportRecordResponse, error)
|
||||
}
|
||||
|
||||
func (c *SupplierClientImpl) GetDubboStub(cc *triple.TripleConn) SupplierClient {
|
||||
return NewSupplierClient(cc)
|
||||
}
|
||||
|
||||
func (c *SupplierClientImpl) XXX_InterfaceName() string {
|
||||
return "supplier.Supplier"
|
||||
}
|
||||
|
||||
func NewSupplierClient(cc *triple.TripleConn) SupplierClient {
|
||||
return &supplierClient{cc}
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetSupplier(ctx context.Context, in *GetSupplierRequest, opts ...grpc_go.CallOption) (*UpdateSupplierRequest, common.ErrorWithAttachment) {
|
||||
out := new(UpdateSupplierRequest)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetSupplier", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) CreateSupplier(ctx context.Context, in *CreateSupplierRequest, opts ...grpc_go.CallOption) (*CreateSupplierResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateSupplierResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateSupplier", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) UpdateSupplier(ctx context.Context, in *UpdateSupplierRequest, opts ...grpc_go.CallOption) (*CreateSupplierResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateSupplierResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateSupplier", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetSupplierList(ctx context.Context, in *GetSupplierListRequest, opts ...grpc_go.CallOption) (*GetSupplierListResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetSupplierListResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetSupplierList", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) CreateOrganizeDictionary(ctx context.Context, in *CreateOrganizeDictionaryRequest, opts ...grpc_go.CallOption) (*CreateOrganizeDictionaryResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateOrganizeDictionaryResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateOrganizeDictionary", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetOrganizeDictionaryList(ctx context.Context, in *GetOrganizeDictionaryListRequest, opts ...grpc_go.CallOption) (*GetOrganizeDictionaryListResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetOrganizeDictionaryListResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetOrganizeDictionaryList", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetOrganizeDictionaryInfo(ctx context.Context, in *CreateOrganizeDictionaryRequest, opts ...grpc_go.CallOption) (*OrganizeDictionary, common.ErrorWithAttachment) {
|
||||
out := new(OrganizeDictionary)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetOrganizeDictionaryInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetCountryRegionList(ctx context.Context, in *GetCountryRegionListRequest, opts ...grpc_go.CallOption) (*GetCountryRegionListResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetCountryRegionListResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetCountryRegionList", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetCountryRegionInfo(ctx context.Context, in *GetCountryRegionInfoRequest, opts ...grpc_go.CallOption) (*CountryRegion, common.ErrorWithAttachment) {
|
||||
out := new(CountryRegion)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetCountryRegionInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) CreateImportRecord(ctx context.Context, in *CreateImportRecordRequest, opts ...grpc_go.CallOption) (*CreateImportRecordResponse, common.ErrorWithAttachment) {
|
||||
out := new(CreateImportRecordResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateImportRecord", in, out)
|
||||
}
|
||||
|
||||
func (c *supplierClient) GetImportRecordInfo(ctx context.Context, in *GetImportRecordRequest, opts ...grpc_go.CallOption) (*GetImportRecordResponse, common.ErrorWithAttachment) {
|
||||
out := new(GetImportRecordResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetImportRecordInfo", in, out)
|
||||
}
|
||||
|
||||
// SupplierServer is the server API for Supplier service.
|
||||
// All implementations must embed UnimplementedSupplierServer
|
||||
// for forward compatibility
|
||||
type SupplierServer interface {
|
||||
// 供应商curd
|
||||
GetSupplier(context.Context, *GetSupplierRequest) (*UpdateSupplierRequest, error)
|
||||
CreateSupplier(context.Context, *CreateSupplierRequest) (*CreateSupplierResponse, error)
|
||||
UpdateSupplier(context.Context, *UpdateSupplierRequest) (*CreateSupplierResponse, error)
|
||||
GetSupplierList(context.Context, *GetSupplierListRequest) (*GetSupplierListResponse, error)
|
||||
// 组织字典
|
||||
CreateOrganizeDictionary(context.Context, *CreateOrganizeDictionaryRequest) (*CreateOrganizeDictionaryResponse, error)
|
||||
GetOrganizeDictionaryList(context.Context, *GetOrganizeDictionaryListRequest) (*GetOrganizeDictionaryListResponse, error)
|
||||
GetOrganizeDictionaryInfo(context.Context, *CreateOrganizeDictionaryRequest) (*OrganizeDictionary, error)
|
||||
// 国家组织
|
||||
GetCountryRegionList(context.Context, *GetCountryRegionListRequest) (*GetCountryRegionListResponse, error)
|
||||
GetCountryRegionInfo(context.Context, *GetCountryRegionInfoRequest) (*CountryRegion, error)
|
||||
// 导入
|
||||
CreateImportRecord(context.Context, *CreateImportRecordRequest) (*CreateImportRecordResponse, error)
|
||||
GetImportRecordInfo(context.Context, *GetImportRecordRequest) (*GetImportRecordResponse, error)
|
||||
mustEmbedUnimplementedSupplierServer()
|
||||
}
|
||||
|
||||
// UnimplementedSupplierServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedSupplierServer struct {
|
||||
proxyImpl protocol.Invoker
|
||||
}
|
||||
|
||||
func (UnimplementedSupplierServer) GetSupplier(context.Context, *GetSupplierRequest) (*UpdateSupplierRequest, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetSupplier not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) CreateSupplier(context.Context, *CreateSupplierRequest) (*CreateSupplierResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateSupplier not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) UpdateSupplier(context.Context, *UpdateSupplierRequest) (*CreateSupplierResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateSupplier not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetSupplierList(context.Context, *GetSupplierListRequest) (*GetSupplierListResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetSupplierList not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) CreateOrganizeDictionary(context.Context, *CreateOrganizeDictionaryRequest) (*CreateOrganizeDictionaryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateOrganizeDictionary not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetOrganizeDictionaryList(context.Context, *GetOrganizeDictionaryListRequest) (*GetOrganizeDictionaryListResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetOrganizeDictionaryList not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetOrganizeDictionaryInfo(context.Context, *CreateOrganizeDictionaryRequest) (*OrganizeDictionary, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetOrganizeDictionaryInfo not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetCountryRegionList(context.Context, *GetCountryRegionListRequest) (*GetCountryRegionListResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetCountryRegionList not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetCountryRegionInfo(context.Context, *GetCountryRegionInfoRequest) (*CountryRegion, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetCountryRegionInfo not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) CreateImportRecord(context.Context, *CreateImportRecordRequest) (*CreateImportRecordResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CreateImportRecord not implemented")
|
||||
}
|
||||
func (UnimplementedSupplierServer) GetImportRecordInfo(context.Context, *GetImportRecordRequest) (*GetImportRecordResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetImportRecordInfo not implemented")
|
||||
}
|
||||
func (s *UnimplementedSupplierServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
|
||||
func (s *UnimplementedSupplierServer) XXX_GetProxyImpl() protocol.Invoker {
|
||||
return s.proxyImpl
|
||||
}
|
||||
|
||||
func (s *UnimplementedSupplierServer) XXX_ServiceDesc() *grpc_go.ServiceDesc {
|
||||
return &Supplier_ServiceDesc
|
||||
}
|
||||
func (s *UnimplementedSupplierServer) XXX_InterfaceName() string {
|
||||
return "supplier.Supplier"
|
||||
}
|
||||
|
||||
func (UnimplementedSupplierServer) mustEmbedUnimplementedSupplierServer() {}
|
||||
|
||||
// UnsafeSupplierServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to SupplierServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeSupplierServer interface {
|
||||
mustEmbedUnimplementedSupplierServer()
|
||||
}
|
||||
|
||||
func RegisterSupplierServer(s grpc_go.ServiceRegistrar, srv SupplierServer) {
|
||||
s.RegisterService(&Supplier_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _Supplier_GetSupplier_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetSupplierRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetSupplier", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_CreateSupplier_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateSupplierRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("CreateSupplier", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_UpdateSupplier_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateSupplierRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("UpdateSupplier", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetSupplierList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetSupplierListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetSupplierList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_CreateOrganizeDictionary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateOrganizeDictionaryRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("CreateOrganizeDictionary", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetOrganizeDictionaryList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetOrganizeDictionaryListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetOrganizeDictionaryList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetOrganizeDictionaryInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateOrganizeDictionaryRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetOrganizeDictionaryInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetCountryRegionList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetCountryRegionListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetCountryRegionList", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetCountryRegionInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetCountryRegionInfoRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetCountryRegionInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_CreateImportRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CreateImportRecordRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("CreateImportRecord", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Supplier_GetImportRecordInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetImportRecordRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||
args := []interface{}{}
|
||||
args = append(args, in)
|
||||
md, _ := metadata.FromIncomingContext(ctx)
|
||||
invAttachment := make(map[string]interface{}, len(md))
|
||||
for k, v := range md {
|
||||
invAttachment[k] = v
|
||||
}
|
||||
invo := invocation.NewRPCInvocation("GetImportRecordInfo", args, invAttachment)
|
||||
if interceptor == nil {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
info := &grpc_go.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||
return result, result.Error()
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// Supplier_ServiceDesc is the grpc_go.ServiceDesc for Supplier service.
|
||||
// It's only intended for direct use with grpc_go.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var Supplier_ServiceDesc = grpc_go.ServiceDesc{
|
||||
ServiceName: "supplier.Supplier",
|
||||
HandlerType: (*SupplierServer)(nil),
|
||||
Methods: []grpc_go.MethodDesc{
|
||||
{
|
||||
MethodName: "GetSupplier",
|
||||
Handler: _Supplier_GetSupplier_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateSupplier",
|
||||
Handler: _Supplier_CreateSupplier_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateSupplier",
|
||||
Handler: _Supplier_UpdateSupplier_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetSupplierList",
|
||||
Handler: _Supplier_GetSupplierList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateOrganizeDictionary",
|
||||
Handler: _Supplier_CreateOrganizeDictionary_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetOrganizeDictionaryList",
|
||||
Handler: _Supplier_GetOrganizeDictionaryList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetOrganizeDictionaryInfo",
|
||||
Handler: _Supplier_GetOrganizeDictionaryInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetCountryRegionList",
|
||||
Handler: _Supplier_GetCountryRegionList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetCountryRegionInfo",
|
||||
Handler: _Supplier_GetCountryRegionInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CreateImportRecord",
|
||||
Handler: _Supplier_CreateImportRecord_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetImportRecordInfo",
|
||||
Handler: _Supplier_GetImportRecordInfo_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "api/supplier/supplier.proto",
|
||||
}
|
||||
@ -8,7 +8,7 @@ ErpHost = "http://erpapi.test.fontree.cn:8081"
|
||||
FieeHost = "http://erpapi.test.fontree.cn:8081"
|
||||
AuthRedirectUrl = "http://saas-erp.test.fontree.cn:8081/media_account"
|
||||
AuthCallback = "https://saas-test.szjixun.cn/api/fiee/media/as-oauth2callback"
|
||||
CronOpen = true
|
||||
CronOpen = false
|
||||
proxyUrl = "http://47.84.75.255:6785"
|
||||
[bos]
|
||||
Ak = "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
||||
|
||||
@ -49,7 +49,14 @@ dubbo:
|
||||
interface: com.fontree.microservices.fiee.SecFiling
|
||||
AyrshareClientImpl:
|
||||
protocol: tri
|
||||
request-timeout: 1800s
|
||||
interface: com.fontree.microservices.fiee.ayrshare
|
||||
FieeCronClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.cron
|
||||
SupplierClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.common.supplier
|
||||
logger:
|
||||
zap-config:
|
||||
level: error # 日志级别
|
||||
|
||||
16
data/alibabacloud.env
Normal file
16
data/alibabacloud.env
Normal file
@ -0,0 +1,16 @@
|
||||
#=========== 阿里云内容安全配置 ===========
|
||||
# STS登录模式配置
|
||||
# RAM用户AccessKey ID(用于获取STS临时凭证)
|
||||
RAM_ACCESS_KEY_ID=LTAI5tNBzbeEbG1yCitvHsMb
|
||||
|
||||
# RAM用户AccessKey Secret
|
||||
RAM_ACCESS_KEY_SECRET=G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO
|
||||
|
||||
# 要扮演的RAM角色ARN
|
||||
RAM_ROLE_ARN=acs:ram::5828544250383902:role/content-secret
|
||||
|
||||
# 阿里云区域(可选,默认为cn-shanghai)
|
||||
ALIBABA_CLOUD_REGION=ap-southeast-1
|
||||
|
||||
# 阿里云端点(可选,默认为green.cn-shanghai.aliyuncs.com)
|
||||
ALIBABA_CLOUD_ENDPOINT=green-cip.ap-southeast-1.aliyuncs.com
|
||||
BIN
data/图文导入模板.xlsx
BIN
data/图文导入模板.xlsx
Binary file not shown.
Binary file not shown.
BIN
data/自媒体账号导入模板.xlsx
Normal file
BIN
data/自媒体账号导入模板.xlsx
Normal file
Binary file not shown.
BIN
data/话题标签导入模板.xlsx
Normal file
BIN
data/话题标签导入模板.xlsx
Normal file
Binary file not shown.
@ -48,8 +48,22 @@ dubbo:
|
||||
retries: 0
|
||||
interface: com.fontree.microservices.fiee.SecFiling
|
||||
AyrshareClientImpl:
|
||||
request-timeout: 1800s
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.ayrshare
|
||||
FieeCronClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.cron
|
||||
FileClientImpl:
|
||||
protocol: tri
|
||||
retries: 0
|
||||
interface: files.File
|
||||
methods:
|
||||
- name: SecurityScan
|
||||
timeout: 120000
|
||||
SupplierClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.common.supplier
|
||||
logger:
|
||||
zap-config:
|
||||
level: error # 日志级别
|
||||
|
||||
@ -50,8 +50,22 @@ dubbo:
|
||||
retries: 0
|
||||
interface: com.fontree.microservices.fiee.SecFiling
|
||||
AyrshareClientImpl:
|
||||
request-timeout: 1800s
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.ayrshare
|
||||
FieeCronClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.cron
|
||||
FileClientImpl:
|
||||
protocol: tri
|
||||
retries: 0
|
||||
interface: files.File
|
||||
methods:
|
||||
- name: SecurityScan
|
||||
timeout: 120000
|
||||
SupplierClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.common.supplier
|
||||
logger:
|
||||
zap-config:
|
||||
level: error # 日志级别
|
||||
|
||||
@ -48,8 +48,22 @@ dubbo:
|
||||
retries: 0
|
||||
interface: com.fontree.microservices.fiee.SecFiling
|
||||
AyrshareClientImpl:
|
||||
request-timeout: 1800s
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.ayrshare
|
||||
FieeCronClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.fiee.cron
|
||||
FileClientImpl:
|
||||
protocol: tri
|
||||
retries: 0
|
||||
interface: files.File
|
||||
methods:
|
||||
- name: SecurityScan
|
||||
timeout: 120000
|
||||
SupplierClientImpl:
|
||||
protocol: tri
|
||||
interface: com.fontree.microservices.common.supplier
|
||||
logger:
|
||||
zap-config:
|
||||
level: error # 日志级别
|
||||
|
||||
2
go.mod
2
go.mod
@ -9,6 +9,7 @@ replace (
|
||||
//github.com/fonchain_enterprise/utils/objstorage => ../../tyfon-新/utils/objstorage
|
||||
github.com/fonchain/utils/voice => ../utils/voice
|
||||
github.com/fonchain_enterprise/utils/aes => ../utils/aes
|
||||
github.com/fonchain_enterprise/utils/baidu => ../utils/baidu
|
||||
github.com/fonchain_enterprise/utils/objstorage => ../utils/objstorage
|
||||
)
|
||||
|
||||
@ -109,6 +110,7 @@ require (
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0
|
||||
github.com/fonchain/utils/security v0.0.0-00010101000000-000000000000
|
||||
github.com/fonchain/utils/voice v0.0.0-00010101000000-000000000000
|
||||
github.com/fonchain_enterprise/utils/baidu v0.0.0-00010101000000-000000000000
|
||||
github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000
|
||||
github.com/gin-contrib/pprof v1.4.0
|
||||
github.com/go-redis/redis v6.15.9+incompatible
|
||||
|
||||
@ -182,6 +182,30 @@ var EnMessages = map[string]string{
|
||||
"未知增值服务": "Unknown value-added service",
|
||||
"套餐未绑定增值服务": "Bundle not bound to value-added service",
|
||||
"网络错误": "Network error",
|
||||
|
||||
// Website report related messages
|
||||
"创建官网报告失败": "Failed to create website report",
|
||||
"删除官网报告失败": "Failed to delete website report",
|
||||
"官网报告列表查询失败": "Failed to query website report list",
|
||||
"编辑官网报告失败": "Failed to edit website report",
|
||||
"显示官网报告失败": "Failed to display website report",
|
||||
|
||||
// Website member management related messages
|
||||
"创建官网成员失败": "Failed to create website member",
|
||||
"删除官网成员失败": "Failed to delete website member",
|
||||
"官网成员列表查询失败": "Failed to query website member list",
|
||||
"编辑官网成员失败": "Failed to edit website member",
|
||||
"显示官网成员失败": "Failed to display website member",
|
||||
"编辑董事会成员失败": "Failed to edit board of directors member",
|
||||
"编辑委员会成员失败": "Failed to edit committee member",
|
||||
"显示委员会成员失败": "Failed to display committee member",
|
||||
"编辑管理员失败": "Failed to edit administrator",
|
||||
"显示管理员失败": "Failed to display administrator",
|
||||
"显示董事会成员失败": "Failed to display board of directors member",
|
||||
|
||||
// Website email alert related messages
|
||||
"提交邮箱通知失败": "Failed to submit email alert",
|
||||
"获取邮箱通知列表失败": "Failed to get email information list",
|
||||
}
|
||||
|
||||
var DeDEMessages = map[string]string{
|
||||
@ -358,6 +382,30 @@ var DeDEMessages = map[string]string{
|
||||
"未知增值服务": "Unbekannter Mehrwertdienst",
|
||||
"套餐未绑定增值服务": "Bundle nicht an Mehrwertdienst gebunden",
|
||||
"网络错误": "Netzwerkfehler",
|
||||
|
||||
// Website report related messages
|
||||
"创建官网报告失败": "Fehler beim Erstellen des Website-Berichts",
|
||||
"删除官网报告失败": "Fehler beim Löschen des Website-Berichts",
|
||||
"官网报告列表查询失败": "Fehler beim Abfragen der Website-Berichtsliste",
|
||||
"编辑官网报告失败": "Fehler beim Bearbeiten des Website-Berichts",
|
||||
"显示官网报告失败": "Fehler beim Anzeigen des Website-Berichts",
|
||||
|
||||
// Website member management related messages
|
||||
"创建官网成员失败": "Fehler beim Erstellen des Website-Mitglieds",
|
||||
"删除官网成员失败": "Fehler beim Löschen des Website-Mitglieds",
|
||||
"官网成员列表查询失败": "Fehler beim Abfragen der Website-Mitgliederliste",
|
||||
"编辑官网成员失败": "Fehler beim Bearbeiten des Website-Mitglieds",
|
||||
"显示官网成员失败": "Fehler beim Anzeigen des Website-Mitglieds",
|
||||
"编辑董事会成员失败": "Fehler beim Bearbeiten des Vorstandsmitglieds",
|
||||
"编辑委员会成员失败": "Fehler beim Bearbeiten des Ausschussmitglieds",
|
||||
"显示委员会成员失败": "Fehler beim Anzeigen des Ausschussmitglieds",
|
||||
"编辑管理员失败": "Fehler beim Bearbeiten des Administrators",
|
||||
"显示管理员失败": "Fehler beim Anzeigen des Administrators",
|
||||
"显示董事会成员失败": "Fehler beim Anzeigen des Vorstandsmitglieds",
|
||||
|
||||
// Website email alert related messages
|
||||
"提交邮箱通知失败": "Fehler beim Senden der E-Mail-Benachrichtigung",
|
||||
"获取邮箱通知列表失败": "Fehler beim Abrufen der E-Mail-Informationsliste",
|
||||
}
|
||||
|
||||
var JaJPMessages = map[string]string{
|
||||
@ -535,6 +583,30 @@ var JaJPMessages = map[string]string{
|
||||
"未知增值服务": "未知の付加価値サービス",
|
||||
"套餐未绑定增值服务": "バンドルが付加価値サービスにバインドされていません",
|
||||
"网络错误": "ネットワークエラー",
|
||||
|
||||
// Website report related messages
|
||||
"创建官网报告失败": "ウェブサイトレポートの作成に失敗しました",
|
||||
"删除官网报告失败": "ウェブサイトレポートの削除に失敗しました",
|
||||
"官网报告列表查询失败": "ウェブサイトレポートリストの検索に失敗しました",
|
||||
"编辑官网报告失败": "ウェブサイトレポートの編集に失敗しました",
|
||||
"显示官网报告失败": "ウェブサイトレポートの表示に失敗しました",
|
||||
|
||||
// Website member management related messages
|
||||
"创建官网成员失败": "ウェブサイトメンバーの作成に失敗しました",
|
||||
"删除官网成员失败": "ウェブサイトメンバーの削除に失敗しました",
|
||||
"官网成员列表查询失败": "ウェブサイトメンバーリストの検索に失敗しました",
|
||||
"编辑官网成员失败": "ウェブサイトメンバーの編集に失敗しました",
|
||||
"显示官网成员失败": "ウェブサイトメンバーの表示に失敗しました",
|
||||
"编辑董事会成员失败": "取締役会メンバーの編集に失敗しました",
|
||||
"编辑委员会成员失败": "委員会メンバーの編集に失敗しました",
|
||||
"显示委员会成员失败": "委員会メンバーの表示に失敗しました",
|
||||
"编辑管理员失败": "管理者の編集に失敗しました",
|
||||
"显示管理员失败": "管理者の表示に失敗しました",
|
||||
"显示董事会成员失败": "取締役会メンバーの表示に失敗しました",
|
||||
|
||||
// Website email alert related messages
|
||||
"提交邮箱通知失败": "メール通知の送信に失敗しました",
|
||||
"获取邮箱通知列表失败": "メール情報リストの取得に失敗しました",
|
||||
}
|
||||
|
||||
var ZhTWMessages = map[string]string{
|
||||
@ -722,4 +794,28 @@ var ZhTWMessages = map[string]string{
|
||||
"未知增值服务": "未知增值服務",
|
||||
"套餐未绑定增值服务": "套餐未綁定增值服務",
|
||||
"网络错误": "網絡錯誤",
|
||||
|
||||
// Website report related messages
|
||||
"创建官网报告失败": "創建官網報告失敗",
|
||||
"删除官网报告失败": "刪除官網報告失敗",
|
||||
"官网报告列表查询失败": "官網報告列表查詢失敗",
|
||||
"编辑官网报告失败": "編輯官網報告失敗",
|
||||
"显示官网报告失败": "顯示官網報告失敗",
|
||||
|
||||
// Website member management related messages
|
||||
"创建官网成员失败": "創建官網成員失敗",
|
||||
"删除官网成员失败": "刪除官網成員失敗",
|
||||
"官网成员列表查询失败": "官網成員列表查詢失敗",
|
||||
"编辑官网成员失败": "編輯官網成員失敗",
|
||||
"显示官网成员失败": "顯示官網成員失敗",
|
||||
"编辑董事会成员失败": "編輯董事會成員失敗",
|
||||
"编辑委员会成员失败": "編輯委員會成員失敗",
|
||||
"显示委员会成员失败": "顯示委員會成員失敗",
|
||||
"编辑管理员失败": "編輯管理員失敗",
|
||||
"显示管理员失败": "顯示管理員失敗",
|
||||
"显示董事会成员失败": "顯示董事會成員失敗",
|
||||
|
||||
// Website email alert related messages
|
||||
"提交邮箱通知失败": "提交郵箱通知失敗",
|
||||
"获取邮箱通知列表失败": "獲取郵箱通知列表失敗",
|
||||
}
|
||||
|
||||
@ -236,6 +236,7 @@ func (o *ChatRoom) SendSessionMessage(sender *accountFiee.ChatUserData, sessionI
|
||||
o.Session[sessionId] = usableClients
|
||||
fmt.Printf("sessionId:[%s],客户端数量%d\n", sessionId, len(o.Session[sessionId]))
|
||||
fmt.Println("userIdInSession", userIdInSession)
|
||||
fmt.Println("pushed", pushed)
|
||||
return
|
||||
}
|
||||
func (o *ChatRoom) GetUserIdInSession(sessionId string, withoutUserId ...int64) (userIds []int64) {
|
||||
|
||||
444
pkg/cron/task.go
444
pkg/cron/task.go
@ -5,16 +5,19 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/aryshare"
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
bundleModel "fonchain-fiee/pkg/model/bundle"
|
||||
modelCast "fonchain-fiee/pkg/model/cast"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle/common"
|
||||
serverCast "fonchain-fiee/pkg/service/cast"
|
||||
"log"
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-redis/redis"
|
||||
@ -26,15 +29,26 @@ func InitTasks() error {
|
||||
cm := GetCronManager()
|
||||
err := cm.AddTask("refreshWorkApprovalStatus", "0 */1 * * * *", RefreshWorkApprovalStatusTask)
|
||||
err = cm.AddTask("artistAutoConfirm", "0 */1 * * * *", ArtistAutoConfirmTask)
|
||||
err = cm.AddTask("refreshPublishStatus", "0 */1 * * * *", RefreshPublishStatusTask)
|
||||
err = cm.AddTask("scheduledPublish", "0 */1 * * * *", ScheduledPublishTask)
|
||||
err = cm.AddTask("refreshPublishStatus", "0 */1 * * * *", PublishTask)
|
||||
err = cm.AddTask("scheduledPublish", "0 */10 * * * *", ScheduledPublishTask)
|
||||
|
||||
err = cm.AddTask("artistAutoConfirmAnalysis", "0 */1 * * * *", ArtistAutoConfirmAnalysisTask)
|
||||
err = cm.AddTask("refreshWorkAnalysisApprovalStatus", "0 */1 * * * *", RefreshWorkAnalysisApprovalStatusTask)
|
||||
err = cm.AddTask("refreshArtistOrder", "0 */30 * * * *", RefreshArtistOrderTask)
|
||||
|
||||
// 每天 00:30 和 12:30 执行 Ayrshare 指标采集任务
|
||||
// err = cm.AddTask("ayrshareMetricsCollector", "0 30 0,12 * * *", AyrshareMetricsCollectorTask)
|
||||
err = cm.AddTask("ayrshareMetricsCollector", "0 30 0 * * *", AyrshareMetricsCollectorTask)
|
||||
if err != nil {
|
||||
log.Printf("添加定时任务失败: %v", err)
|
||||
}
|
||||
|
||||
// 每2分钟执行一次标签观看次数更新任务
|
||||
// err = cm.AddTask("updateCastTagWatchCount", "0 */1 * * * *", UpdateCastTagWatchCountTask)
|
||||
cm.Start()
|
||||
|
||||
// 启动队列消费者
|
||||
go WorkPublishQueueConsumer()
|
||||
//go WorkPublishQueueConsumer()
|
||||
|
||||
// 启动随机间隔的自动确认任务
|
||||
go AutoManuallyConfirmWorkTaskWithRandomInterval()
|
||||
@ -62,12 +76,29 @@ func RefreshWorkApprovalStatusTask() {
|
||||
func AutoManuallyConfirmWorkTaskWithRandomInterval() {
|
||||
|
||||
for {
|
||||
// 执行任务
|
||||
AutoManuallyConfirmWorkTask()
|
||||
// 添加 panic 恢复机制
|
||||
func() {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
zap.L().Error("自动确认任务执行panic",
|
||||
zap.Any("panic", r),
|
||||
zap.Stack("stack"))
|
||||
}
|
||||
}()
|
||||
|
||||
// 执行任务
|
||||
zap.L().Debug("开始执行自动确认任务")
|
||||
AutoManuallyConfirmWorkTask()
|
||||
zap.L().Debug("自动确认任务执行完成")
|
||||
}()
|
||||
|
||||
// 生成3-7分钟之间的随机间隔(单位:分钟)
|
||||
randomMinutes := rand.Intn(5) + 3 // 3-7分钟
|
||||
randomDuration := time.Duration(randomMinutes) * time.Minute
|
||||
log.Printf("自动确认任务等待下次执行,间隔:%d分钟,时长:%s", randomMinutes, randomDuration)
|
||||
zap.L().Info("自动确认任务等待下次执行",
|
||||
zap.Int("minutes", randomMinutes),
|
||||
zap.Duration("duration", randomDuration))
|
||||
|
||||
// 等待随机时间
|
||||
time.Sleep(randomDuration)
|
||||
@ -90,7 +121,7 @@ func AutoManuallyConfirmWorkTask() {
|
||||
artistId, err := strconv.ParseInt(work.ArtistUuid, 10, 64)
|
||||
if err != nil {
|
||||
zap.L().Error("解析艺术家ID失败", zap.Error(err))
|
||||
return
|
||||
continue
|
||||
}
|
||||
if req.ConfirmStatus == 2 { // 驳回完直接结束
|
||||
_, err := service.CastProvider.UpdateStatus(context.Background(), &cast.UpdateStatusReq{
|
||||
@ -113,6 +144,17 @@ func AutoManuallyConfirmWorkTask() {
|
||||
continue
|
||||
}
|
||||
|
||||
if balanceInfoRes.BundleStatus == common.BundleExpired {
|
||||
_, err = service.CastProvider.UpdateStatus(context.Background(), &cast.UpdateStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
WorkUuid: req.WorkUuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
ConfirmStatus: 3,
|
||||
})
|
||||
log.Printf("套餐已过期,作品uuid:"+req.WorkUuid, zap.Error(err))
|
||||
continue
|
||||
}
|
||||
|
||||
wordInfoRes, err := service.CastProvider.WorkDetail(context.Background(), &cast.WorkDetailReq{
|
||||
WorkUuid: req.WorkUuid,
|
||||
})
|
||||
@ -174,11 +216,27 @@ func AutoManuallyConfirmWorkTask() {
|
||||
})
|
||||
if err != nil {
|
||||
log.Printf("更新作品状态失败,作品uuid:"+req.WorkUuid, zap.Error(err))
|
||||
return
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func RefreshWorkAnalysisApprovalStatusTask() {
|
||||
resp, err := service.CastProvider.ListWorkAnalysis(context.Background(), &cast.ListWorkAnalysisReq{
|
||||
Page: 1,
|
||||
StatusList: []uint32{2}, // 状态为2表示待审批
|
||||
PageSize: 999999,
|
||||
})
|
||||
if err != nil {
|
||||
log.Printf("获取数据分析列表失败: %v", err)
|
||||
return
|
||||
}
|
||||
if resp.Data == nil || len(resp.Data) == 0 {
|
||||
return
|
||||
}
|
||||
serverCast.RefreshWorkAnalysisApproval(nil, resp.Data)
|
||||
}
|
||||
|
||||
func ArtistAutoConfirmTask() {
|
||||
now := float64(time.Now().Unix())
|
||||
opt := redis.ZRangeBy{
|
||||
@ -191,7 +249,7 @@ func ArtistAutoConfirmTask() {
|
||||
return
|
||||
}
|
||||
if len(workUuids) == 0 {
|
||||
zap.L().Debug("没有到期的任务")
|
||||
zap.L().Info("没有到期的任务")
|
||||
return
|
||||
}
|
||||
zap.L().Info("发现到期任务", zap.Int("count", len(workUuids)))
|
||||
@ -216,14 +274,18 @@ func RefreshPublishStatusTask() {
|
||||
zap.L().Error("刷新发布状态失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
zap.L().Info("刷新发布状态成功")
|
||||
//zap.L().Info("刷新发布状态成功")
|
||||
}
|
||||
|
||||
// ScheduledPublishTask 定时发布任务,从Redis Sorted Set中获取所有workUuid并根据score判断处理
|
||||
// PublishTask 定时发布任务,从Redis Sorted Set中获取所有workUuid并根据score判断处理
|
||||
func PublishTask() {
|
||||
go RefreshPublishStatusTask() // 刷新发布状态
|
||||
go TaskStatus() // 异步任务状态
|
||||
}
|
||||
func ScheduledPublishTask() {
|
||||
// 加上锁
|
||||
lockKey := "scheduled_publish:lock"
|
||||
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), 1*time.Hour)
|
||||
reply := cache.RedisClient.SetNX(lockKey, time.Now().Format("2006-01-02 15:04:05"), 2*time.Hour)
|
||||
if !reply.Val() {
|
||||
zap.L().Warn("定时发布任务正在被其他实例处理")
|
||||
return
|
||||
@ -244,20 +306,27 @@ func ScheduledPublishTask() {
|
||||
return
|
||||
}
|
||||
if len(workList) == 0 {
|
||||
zap.L().Debug("没有定时发布任务")
|
||||
zap.L().Info("没有定时发布任务")
|
||||
return
|
||||
}
|
||||
|
||||
publishCount := 0
|
||||
expiredCount := 0
|
||||
const batchSize = 8 // 每批发布8个,与PublishWork的workerCount保持一致
|
||||
|
||||
zap.L().Info("发现定时发布任务", zap.Int("total_count", len(workList)))
|
||||
zap.L().Info("发现定时发布任务 列表", zap.Any("workList", workList))
|
||||
|
||||
now := float64(time.Now().Unix())
|
||||
publishBatch := make([]string, 0, batchSize)
|
||||
// 使用 map 进行去重,防止同一个 work_uuid 被多次添加
|
||||
publishedUuids := make(map[string]bool)
|
||||
|
||||
// 遍历所有数据,根据score判断处理
|
||||
for _, item := range workList {
|
||||
workUuid := item.Member.(string)
|
||||
score := item.Score
|
||||
now := float64(time.Now().Unix())
|
||||
|
||||
// 如果score小于当前时间,删除但不消费(不发布)
|
||||
if score < now {
|
||||
zap.L().Info("发现过期的定时发布任务,直接删除不发布",
|
||||
@ -274,31 +343,123 @@ func ScheduledPublishTask() {
|
||||
continue
|
||||
}
|
||||
|
||||
// score大于等于当前时间,正常发布
|
||||
zap.L().Info("处理定时发布任务",
|
||||
zap.String("work_uuid", workUuid),
|
||||
zap.Float64("score", score))
|
||||
_ = serverCast.PublishWork(context.Background(), &cast.PublishReq{
|
||||
WorkUuids: []string{workUuid},
|
||||
})
|
||||
// 先从 Redis 中删除,采用"先删后处理"的策略,防止重复处理
|
||||
removed, delErr := cache.RedisClient.ZRem(modelCast.ScheduledPublishQueueKey, workUuid).Result()
|
||||
if delErr != nil {
|
||||
zap.L().Error("删除定时发布任务失败", zap.Error(delErr), zap.String("work_uuid", workUuid))
|
||||
} else if removed > 0 {
|
||||
publishCount++
|
||||
zap.L().Info("已发布并删除定时发布任务", zap.String("work_uuid", workUuid))
|
||||
continue // 删除失败则跳过,避免重复处理
|
||||
}
|
||||
if removed == 0 {
|
||||
zap.L().Warn("定时发布任务已被删除,跳过",
|
||||
zap.String("work_uuid", workUuid))
|
||||
continue // 已被其他实例删除,跳过
|
||||
}
|
||||
|
||||
// 检查是否已经在当前批次中(去重)
|
||||
if publishedUuids[workUuid] {
|
||||
zap.L().Warn("发现重复的定时发布任务,跳过",
|
||||
zap.String("work_uuid", workUuid))
|
||||
continue
|
||||
}
|
||||
|
||||
// score大于等于当前时间,添加到待发布批次
|
||||
zap.L().Info("添加到发布批次",
|
||||
zap.String("work_uuid", workUuid),
|
||||
zap.Float64("score", score))
|
||||
publishBatch = append(publishBatch, workUuid)
|
||||
publishedUuids[workUuid] = true
|
||||
publishCount++
|
||||
|
||||
// 当批次达到指定大小时,批量发布
|
||||
if len(publishBatch) >= batchSize {
|
||||
zap.L().Info("批量发布作品", zap.Int("batch_size", len(publishBatch)), zap.Strings("work_uuids", publishBatch))
|
||||
_ = serverCast.PublishWork(context.Background(), &cast.PublishReq{
|
||||
WorkUuids: publishBatch,
|
||||
})
|
||||
zap.L().Info("批次发布完成", zap.Int("published", len(publishBatch)))
|
||||
// 清空批次,准备下一批
|
||||
publishBatch = make([]string, 0, batchSize)
|
||||
}
|
||||
}
|
||||
|
||||
// 处理剩余的作品(不足一批的)
|
||||
if len(publishBatch) > 0 {
|
||||
zap.L().Info("批量发布剩余作品", zap.Int("batch_size", len(publishBatch)), zap.Strings("work_uuids", publishBatch))
|
||||
_ = serverCast.PublishWork(context.Background(), &cast.PublishReq{
|
||||
WorkUuids: publishBatch,
|
||||
})
|
||||
zap.L().Info("剩余批次发布完成", zap.Int("published", len(publishBatch)))
|
||||
}
|
||||
|
||||
zap.L().Info("定时发布任务处理完成",
|
||||
zap.Int("published_count", publishCount),
|
||||
zap.Int("expired_count", expiredCount),
|
||||
zap.Int("total_count", len(workList)))
|
||||
}
|
||||
|
||||
func TaskStatus() {
|
||||
var actions []string = []string{"publishBatch1", "publishBatch2"}
|
||||
for _, action := range actions {
|
||||
resp, err := service.CastProvider.ListTaskList(context.Background(), &cast.ListTaskListReq{
|
||||
Action: action,
|
||||
Status: 1,
|
||||
Page: 1,
|
||||
PageSize: 100,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("获取任务列表失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
for _, v := range resp.Data {
|
||||
var extraData modelCast.PublishTaskDto
|
||||
if v.ExtraData == "" {
|
||||
continue
|
||||
}
|
||||
_ = json.Unmarshal([]byte(v.ExtraData), &extraData)
|
||||
var allDone = true
|
||||
for _, workUuid := range extraData.WorkUuids {
|
||||
infoResp, _err := service.CastProvider.WorkInfo(context.Background(), &cast.WorkInfoReq{WorkUuid: workUuid})
|
||||
if _err != nil {
|
||||
zap.L().Error("获取作品信息失败", zap.Error(_err))
|
||||
allDone = false
|
||||
break
|
||||
}
|
||||
if infoResp.PublishStatus != cast.PublishStatusENUM_PublishMediaStatus_DONE {
|
||||
allDone = false
|
||||
break
|
||||
}
|
||||
}
|
||||
var excelUrl string
|
||||
if allDone {
|
||||
excelUrl, err = serverCast.PublishTaskExcel(extraData.WorkUuids, true, v.Action)
|
||||
if err != nil {
|
||||
zap.L().Error("生成发布任务Excel失败", zap.Error(err))
|
||||
continue
|
||||
}
|
||||
_, err = service.CastProvider.UpsertTaskList(context.Background(), &cast.UpsertTaskListReq{
|
||||
Uuid: v.Uuid,
|
||||
Action: v.Action,
|
||||
Url: excelUrl,
|
||||
Status: 3,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("更新任务状态失败", zap.Error(err))
|
||||
continue
|
||||
}
|
||||
zap.L().Info("任务已完成,更新状态为完成", zap.String("task_uuid", v.Uuid), zap.String("excel_url", excelUrl))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// WorkPublishQueueConsumer 监听work:publish:queue队列的消费者
|
||||
func WorkPublishQueueConsumer() {
|
||||
zap.L().Info("开始监听work:publish:queue队列")
|
||||
zap.L().Info("开始监听work:publish:queue队列(批量处理模式)")
|
||||
const batchSize = 10
|
||||
|
||||
for {
|
||||
batch := make([]string, 0, batchSize)
|
||||
|
||||
result, err := cache.RedisClient.BRPop(0*time.Second, modelCast.WorkPublishQueueKey).Result()
|
||||
if err != nil {
|
||||
zap.L().Error("监听work:publish:queue队列失败", zap.Error(err))
|
||||
@ -312,39 +473,236 @@ func WorkPublishQueueConsumer() {
|
||||
}
|
||||
|
||||
workData := result[1] // BRPOP返回[key, value],value在第二个元素
|
||||
zap.L().Info("从work:publish:queue队列收到数据", zap.String("data", workData))
|
||||
zap.L().Info("从work:publish:queue队列收到第一条数据", zap.String("data", workData))
|
||||
|
||||
// 处理队列数据
|
||||
if err = processWorkPublishQueueData(workData); err != nil {
|
||||
zap.L().Error("处理work:publish:queue队列数据失败", zap.Error(err), zap.String("data", workData))
|
||||
batch = append(batch, workData)
|
||||
for len(batch) < batchSize {
|
||||
// 使用RPOP非阻塞获取,如果没有数据立即返回
|
||||
data, err := cache.RedisClient.RPop(modelCast.WorkPublishQueueKey).Result()
|
||||
if err == redis.Nil {
|
||||
// 队列为空,跳出循环
|
||||
zap.L().Info("队列暂时为空,开始处理当前批次", zap.Int("batch_size", len(batch)))
|
||||
break
|
||||
} else if err != nil {
|
||||
zap.L().Error("从队列获取数据失败", zap.Error(err))
|
||||
break
|
||||
}
|
||||
batch = append(batch, data)
|
||||
}
|
||||
zap.L().Info("收集到批次数据,准备批量处理", zap.Int("batch_size", len(batch)))
|
||||
// 批量处理数据
|
||||
if err = processBatchWorkPublishQueueData(batch); err != nil {
|
||||
zap.L().Error("批量处理work:publish:queue队列数据失败",
|
||||
zap.Error(err),
|
||||
zap.Int("batch_size", len(batch)))
|
||||
continue
|
||||
}
|
||||
zap.L().Info("成功处理work:publish:queue队列数据", zap.String("data", workData))
|
||||
zap.L().Info("成功批量处理work:publish:queue队列数据", zap.Int("batch_size", len(batch)))
|
||||
}
|
||||
}
|
||||
|
||||
// processWorkPublishQueueData 处理从work:publish:queue队列中取出的数据
|
||||
func processWorkPublishQueueData(data string) error {
|
||||
// processBatchWorkPublishQueueData 批量处理从work:publish:queue队列中取出的数据
|
||||
func processBatchWorkPublishQueueData(batchData []string) error {
|
||||
// 延时1秒消费
|
||||
time.Sleep(time.Second * 1)
|
||||
var workData map[string]string
|
||||
_ = json.Unmarshal([]byte(data), &workData)
|
||||
workUuid := workData["workUuid"]
|
||||
if workUuid == "" {
|
||||
zap.L().Error("队列数据为空", zap.String("raw_data", data))
|
||||
return errors.New("队列数据为空")
|
||||
workUuids := make([]string, 0, len(batchData))
|
||||
// 解析所有数据,提取workUuid
|
||||
for _, data := range batchData {
|
||||
var workData map[string]string
|
||||
if err := json.Unmarshal([]byte(data), &workData); err != nil {
|
||||
zap.L().Error("解析队列数据失败", zap.String("raw_data", data), zap.Error(err))
|
||||
continue
|
||||
}
|
||||
|
||||
workUuid := workData["workUuid"]
|
||||
if workUuid == "" {
|
||||
zap.L().Error("队列数据中workUuid为空", zap.String("raw_data", data))
|
||||
continue
|
||||
}
|
||||
|
||||
workUuids = append(workUuids, workUuid)
|
||||
}
|
||||
zap.L().Info("处理发布工作队列数据", zap.String("work_uuid", workUuid))
|
||||
// 调用发布工作逻辑
|
||||
|
||||
if len(workUuids) == 0 {
|
||||
zap.L().Warn("批次中没有有效的workUuid")
|
||||
return errors.New("批次中没有有效的workUuid")
|
||||
}
|
||||
|
||||
zap.L().Info("批量处理发布工作队列数据",
|
||||
zap.Strings("work_uuids", workUuids),
|
||||
zap.Int("count", len(workUuids)))
|
||||
|
||||
// 批量调用发布工作逻辑
|
||||
err := serverCast.PublishWork(context.Background(), &cast.PublishReq{
|
||||
WorkUuids: []string{workUuid},
|
||||
WorkUuids: workUuids,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("发布工作失败",
|
||||
zap.String("work_uuid", workUuid),
|
||||
zap.L().Error("批量发布工作失败",
|
||||
zap.Strings("work_uuids", workUuids),
|
||||
zap.Error(err))
|
||||
return err
|
||||
}
|
||||
zap.L().Info("发布工作成功", zap.String("work_uuid", workUuid))
|
||||
|
||||
zap.L().Info("批量发布工作成功",
|
||||
zap.Strings("work_uuids", workUuids),
|
||||
zap.Int("count", len(workUuids)))
|
||||
return nil
|
||||
}
|
||||
|
||||
func ArtistAutoConfirmAnalysisTask() {
|
||||
now := float64(time.Now().Unix())
|
||||
opt := redis.ZRangeBy{
|
||||
Min: fmt.Sprintf("%d", 0),
|
||||
Max: fmt.Sprintf("%f", now),
|
||||
}
|
||||
analysisUuids, err := cache.RedisClient.ZRangeByScore(modelCast.AutoConfirmAnalysisQueueKey, opt).Result()
|
||||
if err != nil {
|
||||
zap.L().Error("获取到期数据分析任务失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
if len(analysisUuids) == 0 {
|
||||
zap.L().Debug("没有到期的数据分析任务")
|
||||
return
|
||||
}
|
||||
zap.L().Info("发现到期数据分析任务", zap.Int("count", len(analysisUuids)))
|
||||
for _, analysisUuid := range analysisUuids {
|
||||
serverCast.ProcessAnalysisTask(context.Background(), analysisUuid)
|
||||
}
|
||||
}
|
||||
|
||||
// AyrshareMetricsCollectorTask Ayrshare 指标采集定时任务(每天 00:30 和 12:30 执行)
|
||||
func AyrshareMetricsCollectorTask() {
|
||||
serverCast.ExecuteAyrshareMetricsCollector()
|
||||
}
|
||||
|
||||
func RefreshArtistOrderTask() {
|
||||
_, _ = service.CastProvider.Tools(context.Background(), &cast.ToolsReq{Action: "artistOrderInfo"})
|
||||
}
|
||||
|
||||
// UpdateCastTagWatchCountTask 更新标签观看次数的定时任务(每5分钟执行一次)
|
||||
func UpdateCastTagWatchCountTask() {
|
||||
ctx := context.Background()
|
||||
|
||||
// 计算两天前的00:00:00
|
||||
now := time.Now()
|
||||
twoDaysAgo := now.AddDate(0, 0, -2)
|
||||
createdAtStart := time.Date(twoDaysAgo.Year(), twoDaysAgo.Month(), twoDaysAgo.Day(), 0, 0, 0, 0, twoDaysAgo.Location())
|
||||
createdAtEnd := now
|
||||
|
||||
// 格式化时间字符串:2026-01-01 00:00:00
|
||||
createdAtStartStr := createdAtStart.Format("2006-01-02 15:04:05")
|
||||
createdAtEndStr := createdAtEnd.Format("2006-01-02 15:04:05")
|
||||
|
||||
// 调用 ListCastTags 接口,筛选 IsWatchCountCalled = 2 的数据
|
||||
listReq := &cast.ListCastTagsReq{
|
||||
CreatedAtStart: createdAtStartStr,
|
||||
CreatedAtEnd: createdAtEndStr,
|
||||
IsWatchCountCalled: 2, // 2表示未调用
|
||||
Page: 1,
|
||||
PageSize: 10,
|
||||
}
|
||||
|
||||
listResp, err := service.CastProvider.ListCastTags(ctx, listReq)
|
||||
if err != nil {
|
||||
zap.L().Error("获取标签列表失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
|
||||
if listResp.Data == nil || len(listResp.Data) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
zap.L().Info("获取到需要更新的标签", zap.Int("count", len(listResp.Data)))
|
||||
|
||||
// 获取有效的 profileKey
|
||||
profileKey, err := serverCast.GetValidProfileKey(ctx, []uint32{1})
|
||||
if err != nil {
|
||||
zap.L().Error("获取有效profileKey失败", zap.Error(err))
|
||||
return
|
||||
}
|
||||
|
||||
// 准备批量更新的数据
|
||||
updateData := make([]*cast.CastTagInfo, 0, len(listResp.Data))
|
||||
|
||||
// 遍历每个标签,调用 RecommendHashtags 接口
|
||||
for _, tag := range listResp.Data {
|
||||
if tag.HashTag == "" {
|
||||
zap.L().Warn("标签HashTag为空,跳过", zap.String("uuid", tag.Uuid))
|
||||
// 即使HashTag为空,也要更新IsWatchCountCalled为1
|
||||
updateData = append(updateData, &cast.CastTagInfo{
|
||||
Uuid: tag.Uuid,
|
||||
WatchCount: 1,
|
||||
IsWatchCountCalled: 1,
|
||||
})
|
||||
continue
|
||||
}
|
||||
|
||||
// 调用 RecommendHashtags 接口
|
||||
recommendReq := &aryshare.RecommendHashtagsRequest{
|
||||
Keyword: tag.HashTag,
|
||||
ProfileKey: profileKey,
|
||||
}
|
||||
|
||||
recommendResp, err := service.AyrshareProvider.RecommendHashtags(ctx, recommendReq)
|
||||
if err != nil {
|
||||
zap.L().Error("调用RecommendHashtags接口失败",
|
||||
zap.String("hashTag", tag.HashTag),
|
||||
zap.String("uuid", tag.Uuid),
|
||||
zap.Error(err))
|
||||
// 调用失败时,将WatchCount更新为1,IsWatchCountCalled更新为1
|
||||
updateData = append(updateData, &cast.CastTagInfo{
|
||||
Uuid: tag.Uuid,
|
||||
WatchCount: 1,
|
||||
IsWatchCountCalled: 1,
|
||||
})
|
||||
continue
|
||||
}
|
||||
|
||||
// 对比返回结果,查找完全一致的标签
|
||||
var matchedViewCount int64 = 0
|
||||
if recommendResp.Recommendations != nil {
|
||||
for _, recommendation := range recommendResp.Recommendations {
|
||||
// 完全一致匹配(不区分大小写)
|
||||
if strings.EqualFold(recommendation.Name, tag.HashTag) {
|
||||
matchedViewCount = recommendation.ViewCount
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 根据匹配结果更新WatchCount
|
||||
var watchCount int32 = 1
|
||||
if matchedViewCount > 0 {
|
||||
watchCount = int32(matchedViewCount)
|
||||
}
|
||||
|
||||
// 添加到更新列表
|
||||
updateData = append(updateData, &cast.CastTagInfo{
|
||||
Uuid: tag.Uuid,
|
||||
WatchCount: watchCount,
|
||||
IsWatchCountCalled: 1,
|
||||
})
|
||||
|
||||
zap.L().Debug("处理标签完成",
|
||||
zap.String("hashTag", tag.HashTag),
|
||||
zap.String("uuid", tag.Uuid),
|
||||
zap.Int64("matchedViewCount", matchedViewCount),
|
||||
zap.Int32("watchCount", watchCount))
|
||||
}
|
||||
|
||||
// 如果没有需要更新的数据,直接返回
|
||||
if len(updateData) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
// 批量更新标签
|
||||
batchUpdateReq := &cast.BatchUpdateCastTagsReq{
|
||||
Data: updateData,
|
||||
}
|
||||
|
||||
_, err = service.CastProvider.BatchUpdateCastTags(ctx, batchUpdateReq)
|
||||
if err != nil {
|
||||
zap.L().Error("批量更新标签失败", zap.Error(err), zap.Int("count", len(updateData)))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,8 @@ func (w *Work) ExportExcelWorkList(data []*cast.WorkListResp_Info) (*excelize.Fi
|
||||
|
||||
// 表头
|
||||
headers := []interface{}{
|
||||
"艺人", "艺人手机号", "作品标题", "作品类型", "类型", "发布平台", "提交时间", "作品状态", "发布账号", "管理人",
|
||||
"艺人", "手机号", "用户编号", "作品标题", "脚本", "作品类型", "类型", "Ins", "Tiktok", "DM", "Youtube", "Bulesky", "作品状态", "验收确认类型",
|
||||
"说明", "发布账号", "管理人", "上传时间", "待艺人确认时间", "验收确认通过时间", "发布成功时间",
|
||||
}
|
||||
if err := sw.SetRow("A1", headers); err != nil {
|
||||
return nil, err
|
||||
@ -34,13 +35,13 @@ func (w *Work) ExportExcelWorkList(data []*cast.WorkListResp_Info) (*excelize.Fi
|
||||
rowIndex := 2
|
||||
for _, info := range data {
|
||||
// 拼接字段
|
||||
platformNames := strings.Join(func() []string {
|
||||
arr := make([]string, 0, len(info.PlatformIDs))
|
||||
for _, v := range info.PlatformIDs {
|
||||
arr = append(arr, modelCast.PlatformIDMM[int(v)])
|
||||
}
|
||||
return arr
|
||||
}(), "/")
|
||||
//platformNames := strings.Join(func() []string {
|
||||
// arr := make([]string, 0, len(info.PlatformIDs))
|
||||
// for _, v := range info.PlatformIDs {
|
||||
// arr = append(arr, modelCast.PlatformIDMM[int(v)])
|
||||
// }
|
||||
// return arr
|
||||
//}(), "/")
|
||||
|
||||
var mediaAccountNames string
|
||||
var managerNames string
|
||||
@ -63,14 +64,27 @@ func (w *Work) ExportExcelWorkList(data []*cast.WorkListResp_Info) (*excelize.Fi
|
||||
row := []interface{}{
|
||||
info.ArtistName,
|
||||
info.ArtistPhone,
|
||||
info.ArtistSubNum,
|
||||
info.Title,
|
||||
info.ScriptTitle,
|
||||
modelCast.WorkCategoryMM[int(info.WorkCategory)],
|
||||
modelCast.WorkCostTypeMM[int(info.CostType)],
|
||||
platformNames,
|
||||
info.SubmitTime,
|
||||
modelCast.PlatformPublishStatusMM[cast.PublishStatusENUM(info.InsStatus)],
|
||||
modelCast.PlatformPublishStatusMM[cast.PublishStatusENUM(info.TiktokStatus)],
|
||||
modelCast.PlatformPublishStatusMM[cast.PublishStatusENUM(info.DmStatus)],
|
||||
modelCast.PlatformPublishStatusMM[cast.PublishStatusENUM(info.YoutubeStatus)],
|
||||
modelCast.PlatformPublishStatusMM[cast.PublishStatusENUM(info.BlueskyStatus)],
|
||||
modelCast.WorkStatusMM[int(info.WorkStatus)],
|
||||
modelCast.ConfirmTypeMM[int(info.ConfirmType)],
|
||||
info.Remark,
|
||||
mediaAccountNames,
|
||||
managerNames,
|
||||
info.SubmitTime,
|
||||
info.Status4Time,
|
||||
info.Status9Time,
|
||||
info.Status6Time,
|
||||
//platformNames,
|
||||
//info.SubmitTime,
|
||||
}
|
||||
|
||||
cell, _ := excelize.CoordinatesToCellName(1, rowIndex)
|
||||
|
||||
182
pkg/logic/supplier.go
Normal file
182
pkg/logic/supplier.go
Normal file
@ -0,0 +1,182 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/tealeg/xlsx"
|
||||
)
|
||||
|
||||
type SupplierLogic struct {
|
||||
OwningEntityName string `json:"owningEntityName"`
|
||||
LegalName string `json:"legalName"`
|
||||
LocalName string `json:"localName"`
|
||||
AbbreviationName string `json:"abbreviationName"`
|
||||
CountryOrRegionName string `json:"countryOrRegionName"`
|
||||
CompanyRegistrationNumber string `json:"companyRegistrationNumber"`
|
||||
SupplierType string `json:"supplierType"`
|
||||
ApprovalStatus string `json:"approvalStatus"`
|
||||
ApprovalDate string `json:"approvalDate"`
|
||||
LastReviewDate string `json:"lastReviewDate"`
|
||||
LegalEntityType string `json:"legalEntityType"`
|
||||
SanctionsCountryScreeningResult string `json:"sanctionsCountryScreeningResult"`
|
||||
KeyFinancial string `json:"keyFinancial"`
|
||||
CompanyAddress string `json:"companyAddress"`
|
||||
PrimaryContact string `json:"primaryContact"`
|
||||
DataOwnerDepartment string `json:"dataOwnerDepartment"`
|
||||
BasicCompanyInformation string `json:"basicCompanyInformation"`
|
||||
SupplementaryText string `json:"supplementaryText"`
|
||||
ConnectedParty string `json:"connectedParty"`
|
||||
}
|
||||
type ErrSupplierRes struct {
|
||||
ID int `json:"id"`
|
||||
LegalName string `json:"legalName"`
|
||||
Remark string `json:"remark"`
|
||||
}
|
||||
|
||||
func ImportSupplier(filePath string) ([]*SupplierLogic, error) {
|
||||
xlFile, err := xlsx.OpenFile(filePath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
//开辟除表头外的行数的数组内存
|
||||
//遍历sheet
|
||||
for sheetIndex, sheet := range xlFile.Sheets {
|
||||
var resourceArr []map[int]string
|
||||
//遍历每一行
|
||||
//for rowIndex, row := range sheet.Rows {
|
||||
for _, row := range sheet.Rows {
|
||||
//开辟除表头外的行数的数组内存
|
||||
objMap := make(map[int]string)
|
||||
|
||||
//if len(row.Cells) <= 0 || row.Cells[0].String() == "" {
|
||||
// continue
|
||||
//}
|
||||
for cellIndex, cell := range row.Cells {
|
||||
text := cell.String()
|
||||
//如果是每一行的第一个单元格
|
||||
objMap[cellIndex] = text
|
||||
}
|
||||
resourceArr = append(resourceArr, objMap)
|
||||
}
|
||||
if len(resourceArr) >= 2 {
|
||||
suppliers, err := getListFromRaw(resourceArr)
|
||||
if err != nil {
|
||||
return nil, errors.New(fmt.Sprintf("页码:%d,文件读取错误信息%s", sheetIndex+1, err.Error()))
|
||||
}
|
||||
if len(suppliers) > 0 {
|
||||
return suppliers, nil
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
func getListFromRaw(list []map[int]string) ([]*SupplierLogic, error) {
|
||||
var entrusts []*SupplierLogic
|
||||
kkMap := map[string]string{
|
||||
"*使用组织/Owning Entity": "owningEntityName",
|
||||
"*供应商法定全称/Legal Name": "legalName",
|
||||
"供应商本地名称(如有)/Local Name (if applicable)": "localName",
|
||||
"供应商简称(如有)/Abbreviation/Trade Name (if applicable)": "abbreviationName",
|
||||
"*所在国家或地区/Country or Region": "countryOrRegionName",
|
||||
"*公司注册编号/Company Registration Number": "companyRegistrationNumber",
|
||||
"*供应商类型/Supplier Type": "supplierType",
|
||||
"*准入状态/Approval Status": "approvalStatus",
|
||||
"准入日期/Approval Date": "approvalDate",
|
||||
"法律实体形式/Legal Entity Type": "legalEntityType",
|
||||
"制裁与高风险国家筛查结果/Sanctions & High-Risk Country Screening Result": "sanctionsCountryScreeningResult",
|
||||
"关键财务与付款信息/Key Financial & Payment Information": "keyFinancial",
|
||||
"公司地址/Company Address": "companyAddress",
|
||||
"主要联系人、职位及联系方式/Primary Contact, Position&Details": "primaryContact",
|
||||
"数据维护部门&人员/Data Owner Department/Personnel": "dataOwnerDepartment",
|
||||
"公司信息概要/Summary of Basic Company Information": "basicCompanyInformation",
|
||||
"其他补充信息/Other Supplementary Information": "supplementaryText",
|
||||
"*是否关联方/Connected party": "connectedParty",
|
||||
}
|
||||
keyMap := list[0]
|
||||
for index, tt := range list {
|
||||
if index == 0 {
|
||||
continue
|
||||
}
|
||||
temp := &SupplierLogic{}
|
||||
for i, r := range tt {
|
||||
t := strings.TrimSpace(r)
|
||||
if _, ok := keyMap[i]; !ok {
|
||||
continue
|
||||
}
|
||||
keyString := strings.TrimSpace(keyMap[i])
|
||||
if _, ok := kkMap[keyString]; !ok {
|
||||
fmt.Println(fmt.Sprintf("行数:%d字段信息(%s)没有匹配,请以模版为准", i, keyString))
|
||||
continue
|
||||
}
|
||||
switch kkMap[keyString] {
|
||||
case "owningEntityName":
|
||||
temp.OwningEntityName = t
|
||||
case "legalName":
|
||||
temp.LegalName = t
|
||||
case "localName":
|
||||
temp.LocalName = t
|
||||
case "abbreviationName":
|
||||
temp.AbbreviationName = t
|
||||
case "countryOrRegionName":
|
||||
temp.CountryOrRegionName = t
|
||||
case "companyRegistrationNumber":
|
||||
temp.CompanyRegistrationNumber = t
|
||||
case "supplierType":
|
||||
temp.SupplierType = t
|
||||
case "approvalStatus":
|
||||
temp.ApprovalStatus = t
|
||||
case "approvalDate":
|
||||
temp.ApprovalDate = ParseExcelDate(t)
|
||||
//temp.ApprovalDate = t
|
||||
case "legalEntityType":
|
||||
temp.LegalEntityType = t
|
||||
case "sanctionsCountryScreeningResult":
|
||||
temp.SanctionsCountryScreeningResult = t
|
||||
case "keyFinancial":
|
||||
temp.KeyFinancial = t
|
||||
case "companyAddress":
|
||||
temp.CompanyAddress = t
|
||||
case "primaryContact":
|
||||
temp.PrimaryContact = t
|
||||
case "dataOwnerDepartment":
|
||||
temp.DataOwnerDepartment = t
|
||||
case "basicCompanyInformation":
|
||||
temp.BasicCompanyInformation = t
|
||||
case "supplementaryText":
|
||||
temp.SupplementaryText = t
|
||||
case "connectedParty":
|
||||
temp.ConnectedParty = t
|
||||
|
||||
}
|
||||
}
|
||||
entrusts = append(entrusts, temp)
|
||||
}
|
||||
sha256.New()
|
||||
return entrusts, nil
|
||||
}
|
||||
func ParseExcelDate(v string) string {
|
||||
if v == "" {
|
||||
return ""
|
||||
}
|
||||
|
||||
// 非数字,直接认为是 yyyy-mm-dd
|
||||
if _, err := strconv.ParseFloat(v, 64); err != nil {
|
||||
t, err := time.Parse("2006-01-02", v)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return t.Format("2006-01-02")
|
||||
}
|
||||
|
||||
// Excel 序列号
|
||||
f, _ := strconv.ParseFloat(v, 64)
|
||||
base := time.Date(1899, 12, 30, 0, 0, 0, 0, time.Local)
|
||||
return base.AddDate(0, 0, int(f)).Format("2006-01-02")
|
||||
}
|
||||
@ -69,6 +69,8 @@ func CheckLogin(provider *api.AccountFieeClientImpl) gin.HandlerFunc {
|
||||
Domain: infoRes.Domain,
|
||||
TelNum: jwt.Phone,
|
||||
SubscriberNumber: infoRes.SubscriberNumber,
|
||||
IdNumber: infoRes.IdNumber,
|
||||
InviterID: infoRes.InviterId,
|
||||
}
|
||||
|
||||
ctx.Set("jwtInfo", loginInfo)
|
||||
|
||||
@ -6,6 +6,12 @@ type UserWorkConfirmReq struct {
|
||||
ConfirmStatus int `json:"confirmStatus"` // 1确认 2 驳回
|
||||
}
|
||||
|
||||
type UserWorkAnalysisConfirmReq struct {
|
||||
Uuid string `json:"uuid"` // 分析UUID
|
||||
ConfirmRemark string `json:"confirmRemark"` // 确认备注
|
||||
ConfirmStatus int `json:"confirmStatus"` // 1确认 2 驳回
|
||||
}
|
||||
|
||||
type GetBundleBalanceListResp struct {
|
||||
|
||||
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
|
||||
@ -1 +1,30 @@
|
||||
package cast
|
||||
|
||||
type SendMessageReq struct {
|
||||
MediaAccountUuid string `json:"mediaAccountUuid"`
|
||||
Message string `json:"message"`
|
||||
RecipientId string `json:"recipientId"`
|
||||
PlatformID uint32 `json:"platformID"`
|
||||
}
|
||||
|
||||
type PostCommentReq struct {
|
||||
PublishMediaID string `json:"publishMediaID"`
|
||||
Comment string `json:"comment"`
|
||||
PlatformID int `json:"platformID"`
|
||||
ArtistUuid string `json:"artistUuid"`
|
||||
}
|
||||
type GetCommentReq struct {
|
||||
ArtistUuid string `json:"artistUuid"`
|
||||
PublishMediaID string `json:"publishMediaID"`
|
||||
}
|
||||
type DeleteCommentReq struct {
|
||||
ArtistUuid string `json:"artistUuid"`
|
||||
CommentId string `json:"commentId"`
|
||||
PlatformID int `json:"platformID"`
|
||||
}
|
||||
type ReplyCommentReq struct {
|
||||
ArtistUuid string `json:"artistUuid"`
|
||||
CommentId string `json:"commentId"`
|
||||
Comment string `json:"comment"`
|
||||
PlatformID int `json:"platformID"`
|
||||
}
|
||||
|
||||
13
pkg/model/cast/task.go
Normal file
13
pkg/model/cast/task.go
Normal file
@ -0,0 +1,13 @@
|
||||
package cast
|
||||
|
||||
type PublishTaskDto struct {
|
||||
WorkUuids []string
|
||||
MediaAccountUuids []string
|
||||
PlatformIds []string
|
||||
}
|
||||
|
||||
var TaskActionName = map[string]string{
|
||||
"importWorkBatch": "批量导入图文",
|
||||
"publishBatch1": "批量发布",
|
||||
"publishBatch2": "多账号同步",
|
||||
}
|
||||
@ -1,5 +1,7 @@
|
||||
package cast
|
||||
|
||||
import "fonchain-fiee/api/cast"
|
||||
|
||||
const (
|
||||
WorkStatusPending = 1 // 待提交
|
||||
WorkStatusReviewing = 2 // 审核中
|
||||
@ -15,6 +17,12 @@ const (
|
||||
AutoConfirmLockKey = "auto_confirm:lock:%s"
|
||||
WorkPublishQueueKey = "work:publish:queue"
|
||||
ScheduledPublishQueueKey = "scheduled:publish:queue" // 定时发布队列
|
||||
|
||||
AutoConfirmAnalysisQueueKey = "auto_confirm:analysis:queue"
|
||||
AutoConfirmAnalysisLockKey = "auto_confirm:analysis:lock:%s"
|
||||
|
||||
// AyrshareMetricsCollectorLockKey Ayrshare 指标采集任务锁
|
||||
AyrshareMetricsCollectorLockKey = "ayrshare:metrics:collector:lock"
|
||||
)
|
||||
|
||||
var WorkCategoryMM = map[int]string{
|
||||
@ -27,6 +35,14 @@ var WorkCostTypeMM = map[int]string{
|
||||
2: "增值",
|
||||
}
|
||||
|
||||
var PlatformPublishStatusMM = map[cast.PublishStatusENUM]string{
|
||||
cast.PublishStatusENUM_PublishMediaStatus_ING: "正常",
|
||||
cast.PublishStatusENUM_PublishMediaStatus_DONE: "正常",
|
||||
cast.PublishStatusENUM_PublishMediaStatus_NO: "异常",
|
||||
cast.PublishStatusENUM_PublishMediaStatus_FAIL: "异常",
|
||||
cast.PublishStatusENUM_PublishMediaStatus_EXCEPTION: "异常",
|
||||
}
|
||||
|
||||
var PlatformIDMM = map[int]string{
|
||||
1: "TIKTOK",
|
||||
2: "YouTube",
|
||||
@ -45,6 +61,10 @@ var WorkStatusMM = map[int]string{
|
||||
8: "未知",
|
||||
9: "验收确认",
|
||||
}
|
||||
var ConfirmTypeMM = map[int]string{
|
||||
1: "艺人确认",
|
||||
2: "系统确认",
|
||||
}
|
||||
|
||||
type DMPost struct {
|
||||
ID string `json:"id"`
|
||||
|
||||
@ -2,6 +2,7 @@ package login
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
@ -27,6 +28,8 @@ type Info struct {
|
||||
Domain string `json:"domain"`
|
||||
TelNum string `json:"telNum"`
|
||||
SubscriberNumber string `json:"subscriberNumber"`
|
||||
IdNumber string `json:"idNumber"`
|
||||
InviterID uint64 `json:"inviterId"`
|
||||
}
|
||||
|
||||
func GetUserInfoFromC(c *gin.Context) Info {
|
||||
|
||||
@ -8,3 +8,11 @@ type MsgLangQuery struct {
|
||||
Lang string `json:"lang" binding:"required"` //环境
|
||||
Msg string `json:"msg" binding:"required"` //环境
|
||||
}
|
||||
type OcrRes struct {
|
||||
RealName string `json:"realName"`
|
||||
IDNum string `json:"iDNum"`
|
||||
Path string `json:"path"`
|
||||
Age int `json:"age"`
|
||||
Birthday string `json:"birthday"`
|
||||
Sex string `json:"sex"`
|
||||
}
|
||||
|
||||
13
pkg/model/security/file.go
Normal file
13
pkg/model/security/file.go
Normal file
@ -0,0 +1,13 @@
|
||||
package security
|
||||
|
||||
import "time"
|
||||
|
||||
type FileInfo struct {
|
||||
SubmitTime time.Time
|
||||
FileName string
|
||||
FileUrl string
|
||||
FileType string
|
||||
SecurityStatus string
|
||||
Describe string
|
||||
ProblemTimeFrame string
|
||||
}
|
||||
50
pkg/router/analysis.go
Normal file
50
pkg/router/analysis.go
Normal file
@ -0,0 +1,50 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"fonchain-fiee/pkg/middleware"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle"
|
||||
serviceCast "fonchain-fiee/pkg/service/cast"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func AnalysisRouter(r *gin.RouterGroup) {
|
||||
// r.POST("analysis/trigger-ayrshare-metrics", serviceCast.TriggerAyrshareMetricsCollector)
|
||||
|
||||
analysis := r.Group("analysis")
|
||||
analysis.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
{
|
||||
analysis.POST("create", serviceCast.CreateWorkAnalysis)
|
||||
analysis.POST("update", serviceCast.UpdateWorkAnalysis)
|
||||
analysis.POST("update-status", serviceCast.UpdateWorkAnalysisStatus)
|
||||
analysis.POST("detail", serviceCast.GetWorkAnalysis)
|
||||
analysis.POST("latest", serviceCast.GetLatestWorkAnalysis)
|
||||
analysis.POST("list", serviceCast.ListWorkAnalysis)
|
||||
analysis.POST("delete", serviceCast.DeleteWorkAnalysis)
|
||||
analysis.POST("export-list", serviceCast.ListWorkAnalysisExport) // 数据分析分析列表导出
|
||||
analysis.POST("export-single-list", serviceCast.ListWorkAnalysisSingleExport) // 数据分析分析单个列表导出
|
||||
analysis.POST("artist-data-list", serviceCast.ArtistDataList) // 艺人数据列表
|
||||
analysis.POST("media-data-list", serviceCast.MediaDataList) // 自媒体数据列表
|
||||
analysis.POST("data-overview", serviceCast.DataOverview) // 数据概览
|
||||
analysis.POST("artist-metrics", serviceCast.ArtistMetricsSeries) // 艺人指标系列
|
||||
analysis.POST("artist-metrics-single", serviceCast.ArtistMetricsDailyWindow) // 艺人指标日窗口
|
||||
analysis.POST("tobe-confirmed-list", serviceCast.TobeConfirmedList) // 待确认数据列表
|
||||
analysis.POST("update-approval-id", serviceCast.UpdateWorkAnalysisApprovalID) // 更新作品分析审批ID
|
||||
|
||||
analysis.POST("trigger-ayrshare-metrics", serviceCast.TriggerAyrshareMetricsCollector) // 手动触发 Ayrshare 指标采集任务
|
||||
|
||||
}
|
||||
|
||||
// 员工任务相关路由(需要App登录验证
|
||||
analysisAppRoute := r.Group("app/analysis")
|
||||
analysisAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider))
|
||||
{
|
||||
analysisAppRoute.POST("list", serviceCast.ListWorkAnalysis) // 作品列表
|
||||
analysisAppRoute.POST("detail", serviceCast.GetWorkAnalysis) // 作品分析详情
|
||||
analysisAppRoute.POST("update-status", serviceCast.UpdateWorkAnalysisStatus) // 用户确认
|
||||
analysisAppRoute.POST("check-balance", serviceCast.CheckBundleBalance) // 检查套餐余量
|
||||
analysisAppRoute.POST("tobe-confirmed-list", serviceCast.TobeConfirmedList) // 待确认数据列表
|
||||
analysisAppRoute.POST("work-analysis-confirm", bundle.WorkAnalysisConfirm)
|
||||
}
|
||||
}
|
||||
@ -27,6 +27,7 @@ func BundleOrderRouter(r *gin.RouterGroup) {
|
||||
bundleOrderClientWebRoute.POST("bundle-order-list-download", bundle.OrderRecordsListDownload)
|
||||
bundleOrderClientWebRoute.POST("reconciliation-list", bundle.GetReconciliationList)
|
||||
bundleOrderClientWebRoute.POST("reconciliation-list-download", bundle.GetReconciliationListDownload)
|
||||
bundleOrderClientWebRoute.POST("query-order-snapshot-information", bundle.QueryTheOrderSnapshotInformation)
|
||||
// 自动创建用户和订单
|
||||
bundleOrderClientWebRoute.POST("auto-create-user-order", bundle.AutoCreateUserAndOrder)
|
||||
}
|
||||
@ -44,6 +45,8 @@ func BundleOrderRouter(r *gin.RouterGroup) {
|
||||
bundleOrderAppRoute := bundleOrderRoute.Group("app")
|
||||
{
|
||||
bundleOrderAppRoute.POST("order-signature", bundle.CreateBundleOrderSignature)
|
||||
bundleOrderAppRoute.POST("verification-signature", bundle.VerificationSignature) //校验签署
|
||||
bundleOrderAppRoute.POST("restart-signature", bundle.RestartSignature) //重新签署
|
||||
//bundleOrderAppRoute.POST("order-add-signature", bundle.CreateBundleOrderAddSignature)
|
||||
bundleOrderAppRoute.POST("order-del", bundle.DeleteBundleOrder)
|
||||
bundleOrderAppRoute.POST("update-pay", bundle.UpdateBundleOrderStatusPaid)
|
||||
|
||||
29
pkg/router/cron.go
Normal file
29
pkg/router/cron.go
Normal file
@ -0,0 +1,29 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"fonchain-fiee/pkg/middleware"
|
||||
"fonchain-fiee/pkg/service"
|
||||
cronService "fonchain-fiee/pkg/service/cron"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func cronRouter(r *gin.RouterGroup) {
|
||||
auth := r.Group("")
|
||||
auth.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
cron := auth.Group("cron")
|
||||
{
|
||||
cron.POST("createScheduleTask", cronService.CreateScheduleTask)
|
||||
cron.POST("updateScheduleTask", cronService.UpdateScheduleTask)
|
||||
cron.POST("pauseScheduleTask", cronService.PauseScheduleTask)
|
||||
cron.POST("startScheduleTask", cronService.StartScheduleTask)
|
||||
cron.POST("deleteScheduleTask", cronService.DeleteScheduleTask)
|
||||
cron.POST("getListScheduleTask", cronService.GetListScheduleTask)
|
||||
cron.POST("getListExecutionResult", cronService.GetListExecutionResult)
|
||||
cron.POST("exportExcelExecutionResult", cronService.ExportExcelExecutionResult)
|
||||
cron.POST("getListExecutionRecord", cronService.GetListExecutionRecord)
|
||||
cron.POST("getScheduleTaskStatus", cronService.GetScheduleTaskStatus)
|
||||
cron.POST("getImportData", cronService.GetImportData)
|
||||
}
|
||||
|
||||
}
|
||||
@ -23,6 +23,7 @@ func MediaRouter(r *gin.RouterGroup) {
|
||||
media.POST("refresh-token", serviceCast.RefreshToken)
|
||||
media.POST("artist-info", serviceCast.ArtistInfo)
|
||||
media.POST("sync-as-profile", serviceCast.SyncAsProfile)
|
||||
media.POST("import-media-account", serviceCast.ImportMediaAccount)
|
||||
}
|
||||
mediaNoLogin := r.Group("media")
|
||||
{
|
||||
@ -58,6 +59,13 @@ func MediaRouter(r *gin.RouterGroup) {
|
||||
script.POST("delete", serviceCast.DeleteVideoScript)
|
||||
}
|
||||
|
||||
task := auth.Group("task")
|
||||
{
|
||||
task.POST("list", serviceCast.TaskList)
|
||||
task.POST("delete", serviceCast.DeleteTasK)
|
||||
task.POST("download", serviceCast.DownloadTaskFile)
|
||||
}
|
||||
|
||||
layout := auth.Group("layout")
|
||||
{
|
||||
layout.POST("update", serviceCast.LayoutUpdate)
|
||||
@ -73,6 +81,18 @@ func MediaRouter(r *gin.RouterGroup) {
|
||||
prompt.POST("delete", serviceCast.DeletePrompt)
|
||||
}
|
||||
|
||||
tag := auth.Group("tag")
|
||||
{
|
||||
tag.POST("update", serviceCast.UpdateCastTag)
|
||||
tag.POST("list", serviceCast.ListCastTags)
|
||||
tag.POST("import-batch", serviceCast.ImportTagBatch)
|
||||
tag.POST("recalculate-quote-count", serviceCast.RecalculateCastTagQuoteCount)
|
||||
// tag.POST("auto-hashtags", serviceCast.AutoHashtags)
|
||||
// 这两个接口需要关闭ins,通过facebook授权
|
||||
// tag.POST("recommend-hashtags", serviceCast.RecommendHashtags)
|
||||
// tag.POST("search-hashtags", serviceCast.SearchHashtags)
|
||||
}
|
||||
|
||||
//AI 生图
|
||||
aiNoAuth := noAuth.Group("ai")
|
||||
{
|
||||
@ -89,4 +109,13 @@ func MediaRouter(r *gin.RouterGroup) {
|
||||
{
|
||||
social.GET("tiktok-redirect", serviceCast.TikTokRedirect)
|
||||
}
|
||||
interact := auth.Group("interact")
|
||||
{
|
||||
interact.POST("send-message", serviceCast.SendMessage)
|
||||
interact.POST("get-message", serviceCast.GetMessage)
|
||||
interact.POST("post-comment", serviceCast.PostComment)
|
||||
interact.POST("get-comment", serviceCast.GetComment)
|
||||
interact.POST("delete-comment", serviceCast.DeleteComment)
|
||||
interact.POST("replay-comment", serviceCast.ReplyComment)
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,13 +7,17 @@ import (
|
||||
"fonchain-fiee/pkg/service/account"
|
||||
"fonchain-fiee/pkg/service/asChat"
|
||||
"fonchain-fiee/pkg/service/auth"
|
||||
"fonchain-fiee/pkg/service/bundle"
|
||||
emailAlert "fonchain-fiee/pkg/service/emailAlerts"
|
||||
"fonchain-fiee/pkg/service/file"
|
||||
"fonchain-fiee/pkg/service/governance"
|
||||
imports "fonchain-fiee/pkg/service/import"
|
||||
"fonchain-fiee/pkg/service/lang"
|
||||
"fonchain-fiee/pkg/service/members"
|
||||
"fonchain-fiee/pkg/service/pressreleases"
|
||||
"fonchain-fiee/pkg/service/qr"
|
||||
"fonchain-fiee/pkg/service/redirect"
|
||||
"fonchain-fiee/pkg/service/reports"
|
||||
"fonchain-fiee/pkg/service/upload"
|
||||
"fonchain-fiee/pkg/service/version"
|
||||
"net/http"
|
||||
@ -53,8 +57,11 @@ func NewRouter() *gin.Engine {
|
||||
ValueAddBundleRouter(privateGroup)
|
||||
TaskBenchRouter(privateGroup) // 新增任务台路由
|
||||
MediaRouter(privateGroup)
|
||||
AnalysisRouter(privateGroup)
|
||||
SecFilingRouter(privateGroup)
|
||||
app.MediaAppRouter(privateGroup)
|
||||
cronRouter(privateGroup)
|
||||
SupplierRouter(privateGroup)
|
||||
{
|
||||
v1.POST("version", version.Version) //版本号公共
|
||||
}
|
||||
@ -67,19 +74,24 @@ func NewRouter() *gin.Engine {
|
||||
privateGroup.POST("user/check/msg", account.CheckMsg) //校验验证码
|
||||
privateGroup.POST("generate/captcha", account.GenerateCaptcha) //生成滑块验证码
|
||||
privateGroup.POST("validate/captcha", account.ValidateCaptcha) //验证滑块验证码
|
||||
privateGroup.POST("check/register", account.CheckRegister) //校验是否注册
|
||||
acRoute := privateGroup.Group("/user")
|
||||
acRoute.Use(middleware.CheckLogin(service.AccountFieeProvider))
|
||||
{
|
||||
acRoute.POST("real-name", account.RealName) //实名
|
||||
acRoute.POST("info", account.UserInfo) //用户详情
|
||||
acRoute.POST("update", account.UserUpdate) //用户更新
|
||||
acRoute.POST("ocr", account.CheckIdOcr) //
|
||||
acRoute.POST("write/off", account.WriteOff) //
|
||||
}
|
||||
webAcRouter := privateGroup.Group("/user")
|
||||
//webAcRouter.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
webAcRouter.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
{
|
||||
webAcRouter.POST("list", account.UserList) //用户列表
|
||||
webAcRouter.POST("approval", account.UserApproval) //实名审核
|
||||
webAcRouter.POST("list", account.UserList) //用户列表
|
||||
webAcRouter.POST("approval", account.UserApproval) //实名审核
|
||||
webAcRouter.POST("admin-update", account.AdminUpdate) //更新用户信息
|
||||
webAcRouter.POST("excel/download", account.UserExcelDownload) //excel下载
|
||||
}
|
||||
}
|
||||
{
|
||||
@ -146,7 +158,8 @@ func NewRouter() *gin.Engine {
|
||||
|
||||
{
|
||||
// 素材库
|
||||
resourceRoute := v1.Group("/resource").Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
resourceRoute := v1.Group("/resource")
|
||||
// .Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
|
||||
resourceRoute.GET("", file.Info)
|
||||
resourceRoute.DELETE("", file.Delete)
|
||||
@ -161,6 +174,10 @@ func NewRouter() *gin.Engine {
|
||||
resourceRoute.GET("/preview/:size/*path", file.Preview)
|
||||
resourceRoute.GET("/list", file.List)
|
||||
resourceRoute.GET("/usage", file.Usage)
|
||||
resourceRoute.POST("/security/scan", file.SecurityScan)
|
||||
resourceRoute.POST("/security/updata/securitystatus", file.UpdateFileSecurityStatus)
|
||||
resourceRoute.POST("/security/anti", file.ManualAnti)
|
||||
resourceRoute.POST("/security/status", file.GetFileSecurityStatus)
|
||||
}
|
||||
|
||||
{
|
||||
@ -168,11 +185,13 @@ func NewRouter() *gin.Engine {
|
||||
governanceRoute := v1.Group("/governance")
|
||||
governanceRouteLogin := governanceRoute.Group("", middleware.CheckWebLogin(service.AccountProvider))
|
||||
|
||||
governanceRoute.GET("/display", middleware.Cors(), governance.Display)
|
||||
governanceRoute.POST("/display", middleware.Cors(), governance.Display)
|
||||
governanceRouteLogin.POST("/list", governance.List)
|
||||
governanceRouteLogin.POST("", governance.Create)
|
||||
governanceRouteLogin.POST("/edit", governance.Edit)
|
||||
governanceRouteLogin.POST("/delete", governance.Delete)
|
||||
governanceRouteLogin.POST("/updataStatus", governance.UpdataStatus)
|
||||
governanceRouteLogin.POST("/getGovernanceInfo", governance.GetGovernanceInfo)
|
||||
|
||||
}
|
||||
{
|
||||
@ -182,12 +201,72 @@ func NewRouter() *gin.Engine {
|
||||
|
||||
pressreleasesRoute.POST("/display", middleware.Cors(), pressreleases.Display)
|
||||
pressreleasesRoute.GET("", middleware.Cors(), pressreleases.Get)
|
||||
pressreleasesRouteLogin.POST("/sortAndStatus", pressreleases.SortAndStatus)
|
||||
pressreleasesRouteLogin.POST("/info", pressreleases.Info)
|
||||
pressreleasesRouteLogin.POST("/list", pressreleases.List)
|
||||
pressreleasesRouteLogin.POST("", pressreleases.Create)
|
||||
pressreleasesRouteLogin.POST("/edit", pressreleases.Edit)
|
||||
pressreleasesRouteLogin.POST("/delete", pressreleases.Delete)
|
||||
|
||||
}
|
||||
{
|
||||
// 官网报告
|
||||
reportsRoute := v1.Group("/reports")
|
||||
reportsRouteLogin := reportsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider))
|
||||
// 年度报告
|
||||
reportsRoute.POST("/annual/display", middleware.Cors(), reports.AnnualReportDisplay)
|
||||
reportsRouteLogin.POST("/annual/create", reports.AnnualReportCreate)
|
||||
reportsRouteLogin.POST("/annual/sortAndStatus", reports.AnnualReportSortAndStatus)
|
||||
reportsRouteLogin.POST("/annual/info", reports.AnnualReportInfo)
|
||||
reportsRouteLogin.POST("/annual/list", reports.AnnualReportList)
|
||||
reportsRouteLogin.POST("/annual/delete", reports.AnnualReportDelete)
|
||||
reportsRouteLogin.POST("/annual/edit", reports.AnnualReportEdit)
|
||||
// 季度报告
|
||||
reportsRoute.POST("/quarterly/display", middleware.Cors(), reports.QuarterlyReportDisplay)
|
||||
reportsRouteLogin.POST("/quarterly/create", reports.QuarterlyReportCreate)
|
||||
reportsRouteLogin.POST("/quarterly/sortAndStatus", reports.QuarterlyReportSortAndStatus)
|
||||
reportsRouteLogin.POST("/quarterly/info", reports.QuarterlyReportInfo)
|
||||
reportsRouteLogin.POST("/quarterly/list", reports.QuarterlyReportList)
|
||||
reportsRouteLogin.POST("/quarterly/delete", reports.QuarterlyReportDelete)
|
||||
reportsRouteLogin.POST("/quarterly/edit", reports.QuarterlyReportEdit)
|
||||
}
|
||||
{
|
||||
// 邮箱通知
|
||||
emailAlertsRoute := v1.Group("/emailalerts")
|
||||
emailAlertsRouteLogin := emailAlertsRoute.Group("", middleware.CheckWebLogin(service.AccountProvider))
|
||||
|
||||
emailAlertsRoute.POST("/submit", middleware.Cors(), emailAlert.EmailAlertSubmit)
|
||||
emailAlertsRouteLogin.POST("/list", emailAlert.GetEmailInformationList)
|
||||
}
|
||||
{
|
||||
// 成员管理
|
||||
membersRoute := v1.Group("/members")
|
||||
membersRouteLogin := membersRoute.Group("", middleware.CheckWebLogin(service.AccountProvider))
|
||||
// 成员部门信息管理
|
||||
membersRouteLogin.POST("/management/add", members.AddManagement)
|
||||
membersRouteLogin.POST("/management/list", members.GetManagementList)
|
||||
membersRouteLogin.POST("/management/info", members.GetManagementInfo)
|
||||
membersRouteLogin.POST("/management/delete", members.DeleteManagement)
|
||||
membersRouteLogin.POST("/management/updata", members.UpdataManagement)
|
||||
membersRouteLogin.POST("/management/edit", members.EditManagement)
|
||||
membersRoute.POST("/management/display", middleware.Cors(), members.DisplayManagement)
|
||||
// 董事会信息管理
|
||||
membersRouteLogin.POST("/boardofdirectors/add", members.AddBoardOfDirectors)
|
||||
membersRouteLogin.POST("/boardofdirectors/list", members.GetBoardOfDirectorsList)
|
||||
membersRouteLogin.POST("/boardofdirectors/info", members.GetBoardOfDirectorsInfo)
|
||||
membersRouteLogin.POST("/boardofdirectors/delete", members.DeleteBoardOfDirectors)
|
||||
membersRouteLogin.POST("/boardofdirectors/updata", members.UpdataBoardOfDirectors)
|
||||
membersRouteLogin.POST("/boardofdirectors/edit", members.EditBoardOfDirectors)
|
||||
membersRoute.POST("/boardofdirectors/display", middleware.Cors(), members.DisplayBoardOfDirectors)
|
||||
// 委员会任命管理
|
||||
membersRouteLogin.POST("/committeeappointments/add", members.AddCommitteeAppointments)
|
||||
membersRouteLogin.POST("/committeeappointments/list", members.GetCommitteeAppointmentsList)
|
||||
membersRouteLogin.POST("/committeeappointments/info", members.GetCommitteeAppointmentsInfo)
|
||||
membersRouteLogin.POST("/committeeappointments/delete", members.DeleteCommitteeAppointments)
|
||||
membersRouteLogin.POST("/committeeappointments/updata", members.UpdataCommitteeAppointments)
|
||||
membersRouteLogin.POST("/committeeappointments/edit", members.EditCommitteeAppointments)
|
||||
membersRoute.POST("/committeeappointments/display", middleware.Cors(), members.DisplayCommitteeAppointments)
|
||||
}
|
||||
{
|
||||
importRoute := v1.Group("/import")
|
||||
importRoute.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
@ -206,6 +285,10 @@ func NewRouter() *gin.Engine {
|
||||
importRoute.GET("generate/photo/test2", imports.Test2)
|
||||
|
||||
}
|
||||
{
|
||||
//健康检测
|
||||
v1.GET("health", bundle.HealthCheck)
|
||||
}
|
||||
//静态文件
|
||||
r.StaticFS("/api/fiee/static", http.Dir("./runtime"))
|
||||
r.NoRoute(func(c *gin.Context) {
|
||||
|
||||
35
pkg/router/supplier.go
Normal file
35
pkg/router/supplier.go
Normal file
@ -0,0 +1,35 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"fonchain-fiee/pkg/middleware"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/supplier"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func SupplierRouter(r *gin.RouterGroup) {
|
||||
|
||||
supplierRoute := r.Group("supplier/web")
|
||||
|
||||
supplierRoute.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
{
|
||||
supplierRoute.POST("info", supplier.GetSupplier)
|
||||
supplierRoute.POST("create", supplier.CreateSupplier)
|
||||
supplierRoute.POST("update", supplier.UpdateSupplier)
|
||||
supplierRoute.POST("list", supplier.GetSupplierList)
|
||||
}
|
||||
{
|
||||
supplierRoute.POST("dictionary/create", supplier.CreateOrganizeDictionary)
|
||||
supplierRoute.POST("dictionary/list", supplier.GetOrganizeDictionaryList)
|
||||
}
|
||||
{
|
||||
supplierRoute.POST("country-region/list", supplier.GetCountryRegionList)
|
||||
}
|
||||
{
|
||||
supplierRoute.POST("import/record", supplier.CreateImportRecord)
|
||||
supplierRoute.POST("import/info", supplier.GetImportRecordInfo)
|
||||
supplierRoute.POST("export/list", supplier.GetExportList)
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,11 +1,18 @@
|
||||
package security
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var ImageScanner *security.ImageScanner
|
||||
var (
|
||||
ImageScanner *security.ImageScanner
|
||||
globalConfig *security.Config
|
||||
configMutex sync.RWMutex
|
||||
)
|
||||
|
||||
func Init() {
|
||||
config, err := security.LoadConfigFromFile("../conf/alibabacloud.env")
|
||||
@ -25,3 +32,37 @@ func Init() {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// GetGlobalConfig 获取全局配置实例(单例模式)
|
||||
func GetGlobalConfig(configFile string) (*security.Config, error) {
|
||||
configMutex.RLock()
|
||||
if globalConfig != nil {
|
||||
// 检查 token 是否还有效
|
||||
if !globalConfig.TokenExpiration.IsZero() &&
|
||||
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
|
||||
configMutex.RUnlock()
|
||||
return globalConfig, nil
|
||||
}
|
||||
}
|
||||
configMutex.RUnlock()
|
||||
|
||||
// 需要重新加载或刷新
|
||||
configMutex.Lock()
|
||||
defer configMutex.Unlock()
|
||||
|
||||
// 双重检查
|
||||
if globalConfig != nil &&
|
||||
!globalConfig.TokenExpiration.IsZero() &&
|
||||
time.Now().Before(globalConfig.TokenExpiration.Add(-5*time.Minute)) {
|
||||
return globalConfig, nil
|
||||
}
|
||||
|
||||
// 加载配置
|
||||
config, err := security.LoadConfigFromFile(configFile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
globalConfig = config
|
||||
return globalConfig, nil
|
||||
}
|
||||
|
||||
@ -2,16 +2,74 @@ package account
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"fmt"
|
||||
account "fonchain-fiee/api/accountFiee"
|
||||
"fonchain-fiee/pkg/e"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/model/query"
|
||||
"fonchain-fiee/pkg/model/union"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/fonchain_enterprise/utils/baidu"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
)
|
||||
|
||||
func UserExcelDownload(c *gin.Context) {
|
||||
var req account.UserListRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
req.Domain = "app"
|
||||
res, err := service.AccountFieeProvider.UserList(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
titleList := []string{
|
||||
"用户编号", "姓名", "性别", "国籍", "手机号", "证件类型", "有效期至", "证件号码", "出生日期", "年龄", "现所在地", "注册时间", "审核时间", "审核状态", "不通过备注",
|
||||
}
|
||||
var dataList []interface{}
|
||||
|
||||
for _, i := range res.UserList {
|
||||
DocumentType := bundle.GetDocumentTypeText(i.DocumentType)
|
||||
Status := bundle.GetUserStatusText(i.Status)
|
||||
data := []any{
|
||||
i.SubNum,
|
||||
i.Name,
|
||||
i.Sex,
|
||||
i.Nationality,
|
||||
i.TelNum,
|
||||
DocumentType,
|
||||
i.Validity,
|
||||
i.IdNumber,
|
||||
i.DateOfBirth,
|
||||
i.Age,
|
||||
i.PlaceOfResidence,
|
||||
i.RegistrationTime,
|
||||
i.AuditTime,
|
||||
Status,
|
||||
i.NotPassRemarks,
|
||||
}
|
||||
dataList = append(dataList, &data)
|
||||
}
|
||||
content, err := utils.ToExcelByType(titleList, dataList, "slice", "")
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
utils.ResponseXls(c, content, "艺人管理")
|
||||
return
|
||||
}
|
||||
func UserApproval(c *gin.Context) {
|
||||
var req account.CheckRealNameRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
@ -68,10 +126,13 @@ func UserUpdate(c *gin.Context) {
|
||||
req.ID = user.ID
|
||||
req.Domain = user.Domain
|
||||
res, err := service.AccountFieeProvider.Update(c, &account.UpdateRequest{
|
||||
ID: req.ID,
|
||||
Domain: req.Domain,
|
||||
Language: req.Language,
|
||||
NickName: req.NickName,
|
||||
ID: req.ID,
|
||||
Domain: req.Domain,
|
||||
Language: req.Language,
|
||||
NickName: req.NickName,
|
||||
Email: req.Email,
|
||||
AbroadTel: req.AbroadTel,
|
||||
AbroadTelAreaCode: req.AbroadTelAreaCode,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
@ -81,6 +142,139 @@ func UserUpdate(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
func AdminUpdate(c *gin.Context) {
|
||||
var req account.UpdateRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
if req.ID == 0 {
|
||||
service.Error(c, errors.New("用户ID不能为空"))
|
||||
return
|
||||
}
|
||||
req.Domain = "app"
|
||||
res, err := service.AccountFieeProvider.Update(c, &account.UpdateRequest{
|
||||
ID: req.ID,
|
||||
Domain: req.Domain,
|
||||
//Language: req.Language,
|
||||
//NickName: req.NickName,
|
||||
Email: req.Email,
|
||||
AbroadTel: req.AbroadTel,
|
||||
AbroadTelAreaCode: req.AbroadTelAreaCode,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
func CheckIdOcr(c *gin.Context) {
|
||||
|
||||
var req account.RealNameRequest
|
||||
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := getFormIdCar(req.CertificatePicture)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
func WriteOff(c *gin.Context) {
|
||||
|
||||
var req account.WriteOffRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
user := login.GetUserInfoFromC(c)
|
||||
|
||||
res, err := service.AccountFieeProvider.WriteOff(c, &account.WriteOffRequest{
|
||||
Id: user.ID,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取身份证OCR识别结果
|
||||
* @param realIDImgA string - 身份证图片的URL地址
|
||||
* @return res query.OcrRes - OCR识别结果结构体,包含身份证号、姓名、图片路径、年龄、生日、性别等信息
|
||||
* @return err error - 错误信息,如果请求或处理过程中出现错误则返回错误
|
||||
*/
|
||||
func getFormIdCar(realIDImgA string) (res query.OcrRes, err error) {
|
||||
// 发送HTTP GET请求获取图片
|
||||
resObj, err := http.Get(realIDImgA)
|
||||
if err != nil {
|
||||
fmt.Println("网络请求错误:", err)
|
||||
return
|
||||
}
|
||||
|
||||
// 确保在函数返回前关闭响应体
|
||||
defer resObj.Body.Close()
|
||||
|
||||
// 读取图片数据
|
||||
imageData, err := ioutil.ReadAll(resObj.Body)
|
||||
if err != nil {
|
||||
fmt.Println("读取图片数据错误:", err)
|
||||
return
|
||||
}
|
||||
|
||||
// 将图片数据转换为base64编码
|
||||
base64Data := base64.StdEncoding.EncodeToString(imageData)
|
||||
fmt.Println(base64Data)
|
||||
|
||||
// 调用百度OCR接口识别身份证信息
|
||||
result, err := baidu.OcrGetIdCard(base64Data, "front")
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 构造并返回OCR识别结果
|
||||
res = query.OcrRes{
|
||||
IDNum: result.IdCard, // 身份证号
|
||||
RealName: result.Name, // 姓名
|
||||
Path: result.Path, // 图片路径
|
||||
Age: result.Age, // 年龄
|
||||
Birthday: dd(result.Birthday), // 生日
|
||||
Sex: result.Sex, // 性别
|
||||
}
|
||||
|
||||
return res, nil
|
||||
}
|
||||
|
||||
// dd 实在没时间好好写代码
|
||||
func dd(dateStr string) string {
|
||||
// 1. 解析字符串为time.Time类型
|
||||
// 注意:Go的布局字符串必须使用参考时间"2006-01-02 15:04:05"的格式
|
||||
t, err := time.Parse("20060102", dateStr)
|
||||
if err != nil {
|
||||
fmt.Printf("日期解析错误: %v\n", err)
|
||||
return ""
|
||||
}
|
||||
|
||||
// 2. 格式化为目标格式
|
||||
formattedDate := t.Format("2006-01-02")
|
||||
|
||||
fmt.Println("原始日期:", dateStr)
|
||||
fmt.Println("转换后日期:", formattedDate)
|
||||
return formattedDate
|
||||
|
||||
}
|
||||
|
||||
// SendMsg 用户发送验证码
|
||||
func SendMsg(c *gin.Context) {
|
||||
var req account.SendMsgRequest
|
||||
@ -98,6 +292,11 @@ func SendMsg(c *gin.Context) {
|
||||
}
|
||||
req.Project = "fiee"
|
||||
req.TelNum = req.Zone + req.TelNum
|
||||
//todo 审核使用账号
|
||||
if req.TelNum == "8618888888888" {
|
||||
service.Success1(c, "发送成功", &account.SendMsgStatusResponse{})
|
||||
return
|
||||
}
|
||||
if req.Zone != e.ZoneCn && req.Zone != "" {
|
||||
// ============================== redis检查ip开始
|
||||
ip := c.ClientIP()
|
||||
@ -142,7 +341,6 @@ func SendMsg(c *gin.Context) {
|
||||
//cache.RedisClient.Incr(daykey)
|
||||
//cache.RedisClient.Incr(minutekey)
|
||||
// ============================== redis检查ip结束
|
||||
|
||||
tempReq := &account.SendNationMsgRequest{
|
||||
Domain: req.Domain,
|
||||
TelNum: req.TelNum,
|
||||
@ -187,6 +385,17 @@ func RealName(c *gin.Context) {
|
||||
}
|
||||
user := login.GetUserInfoFromC(c)
|
||||
req.Id = user.ID
|
||||
if req.DocumentType == 2 {
|
||||
if len(req.IdNumber) != 18 {
|
||||
service.Error(c, errors.New("身份证号格式错误"))
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if req.IdNumber == "" {
|
||||
service.Error(c, errors.New("证件号码不能为空"))
|
||||
return
|
||||
}
|
||||
}
|
||||
res, err := service.AccountFieeProvider.RealName(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
@ -255,6 +464,31 @@ func ValidateCaptcha(c *gin.Context) {
|
||||
service.Success(c, res)
|
||||
|
||||
}
|
||||
func CheckRegister(c *gin.Context) {
|
||||
type CheckRegisterRes struct {
|
||||
IsRegister bool `json:"is_register"`
|
||||
}
|
||||
req := account.UserByTelRequest{}
|
||||
req.Domain = "app"
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
data, err := service.AccountFieeProvider.UserByTel(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
var res CheckRegisterRes
|
||||
if data.Id == 0 {
|
||||
res.IsRegister = false
|
||||
} else {
|
||||
res.IsRegister = true
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
func UserLogout(c *gin.Context) {
|
||||
req := account.DecryptJwtRequest{}
|
||||
req.Token = c.GetHeader(e.Authorization)
|
||||
@ -274,6 +508,16 @@ func UserRegister(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
req.Domain = "app"
|
||||
if req.InviterCode != "" {
|
||||
codeRes, err := service.AccountFieeProvider.GetInviterInfo(context.Background(), &account.InviterInfoRequest{
|
||||
Code: req.InviterCode,
|
||||
})
|
||||
if err != nil || codeRes.Id == 0 {
|
||||
service.Error(c, errors.New("邀请码错误"))
|
||||
return
|
||||
}
|
||||
req.InviterID = codeRes.Id
|
||||
}
|
||||
res, err := service.AccountFieeProvider.Register(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
@ -289,6 +533,10 @@ func UserRegister(c *gin.Context) {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
if tokenInfo.AccountInfo.WriteOff == true {
|
||||
service.Error(c, errors.New("此账号已注销,无法登录"))
|
||||
return
|
||||
}
|
||||
res.Token = tokenInfo.Token
|
||||
service.Success(c, res)
|
||||
return
|
||||
|
||||
@ -8,6 +8,7 @@ import (
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
modelQwen "fonchain-fiee/pkg/model/qwen"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
@ -217,6 +218,8 @@ func OneText(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
resultAll.Title, resultAll.Content = extractTitleAndContent(req.Prompt)
|
||||
resultAll.Title = utils.TruncateString(resultAll.Title, 100)
|
||||
resultAll.Content = utils.TruncateString(resultAll.Content, 200)
|
||||
for _, v := range result.Output.Results {
|
||||
resultAll.Result = append(resultAll.Result, struct {
|
||||
Url string `json:"url"`
|
||||
@ -384,6 +387,8 @@ func MoreText(ctx *gin.Context) {
|
||||
}
|
||||
resultAll.Content = contentRes.content
|
||||
|
||||
resultAll.Title = utils.TruncateString(resultAll.Title, 100)
|
||||
resultAll.Content = utils.TruncateString(resultAll.Content, 200)
|
||||
// 处理图片结果
|
||||
if imageRes.err != nil {
|
||||
service.Error(ctx, fmt.Errorf("生成图片失败: %v", imageRes.err))
|
||||
|
||||
@ -630,13 +630,13 @@ func (a *ChatHandler) UserSwitchAutoReplyStatus(c *gin.Context) {
|
||||
}
|
||||
service.Success(c, resp)
|
||||
}
|
||||
|
||||
func (a *ChatHandler) SetSwitchAutoReplyStatus(c *gin.Context) {
|
||||
chatUser, code := jwt.ParseToChatUser(c)
|
||||
if code != 0 {
|
||||
service.ErrWithCode(c, code)
|
||||
return
|
||||
}
|
||||
sessionId := a.cache.GetUserSession(chatUser.ID)
|
||||
var req dto.UserSwitchAutoReplyReq
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
@ -652,9 +652,18 @@ func (a *ChatHandler) SetSwitchAutoReplyStatus(c *gin.Context) {
|
||||
} else {
|
||||
msg.Text = "已进入人工,不会接收自动消息"
|
||||
}
|
||||
err := logic.NewMessage(c, &a.cache, chatUser, dto.NewMessageRequest{
|
||||
sender := &accountFiee.ChatUserData{
|
||||
ID: a.robot.Info.ID,
|
||||
NickName: a.robot.Name,
|
||||
Account: a.robot.Info.Account,
|
||||
Role: 3,
|
||||
Origin: a.robot.Info.Origin,
|
||||
OriginId: a.robot.Info.OriginId,
|
||||
Avatar: a.robot.Info.Avatar,
|
||||
}
|
||||
err := logic.NewMessage(c, &a.cache, sender, dto.NewMessageRequest{
|
||||
Robot: true,
|
||||
SessionId: fmt.Sprintf("%d", chatUser.ID),
|
||||
SessionId: sessionId,
|
||||
Message: msg,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@ -105,6 +105,7 @@ func NewMessage(ctx context.Context, cache *chatCache.ChatCache, sender *account
|
||||
notice.BuildMessage(resp.Data)
|
||||
fmt.Printf("ws消息提醒:%+v\n", notice)
|
||||
_, err = consts.ChatRoom.SendSessionMessage(sender, request.SessionId, ws.NewChatMsgType, notice)
|
||||
fmt.Println("消息提醒结果:", err)
|
||||
if err != nil {
|
||||
log.Print("发送新消息通知失败", zap.Error(err), zap.Any("notice", notice))
|
||||
}
|
||||
|
||||
@ -197,6 +197,18 @@ func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||||
service.Error(c, errors.New(common.GetWorkDetailFailed))
|
||||
return
|
||||
}
|
||||
|
||||
if balanceInfoRes.BundleStatus == common.BundleExpired {
|
||||
_, err = service.CastProvider.UpdateStatus(c, &cast.UpdateStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
WorkUuid: req.WorkUuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
ConfirmStatus: 3,
|
||||
})
|
||||
service.Error(c, errors.New("套餐已过期"))
|
||||
return
|
||||
}
|
||||
|
||||
if wordInfoRes.WorkStatus != 4 {
|
||||
service.Error(c, errors.New("作品不是待确认状态"))
|
||||
return
|
||||
@ -209,6 +221,12 @@ func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||||
case 1:
|
||||
{
|
||||
if balanceInfoRes.ImageExtendConsumptionNumber >= balanceInfoRes.ImageExtendNumber { // 图文余量不足
|
||||
_, err = service.CastProvider.UpdateStatus(c, &cast.UpdateStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
WorkUuid: req.WorkUuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
ConfirmStatus: 3,
|
||||
})
|
||||
service.Error(c, errors.New("图文余量不足"))
|
||||
return
|
||||
}
|
||||
@ -217,6 +235,12 @@ func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||||
case 2:
|
||||
{
|
||||
if balanceInfoRes.VideoExtendConsumptionNumber >= balanceInfoRes.VideoExtendNumber { // 视频余量不足
|
||||
_, err = service.CastProvider.UpdateStatus(c, &cast.UpdateStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
WorkUuid: req.WorkUuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
ConfirmStatus: 3,
|
||||
})
|
||||
service.Error(c, errors.New("视频余量不足"))
|
||||
return
|
||||
}
|
||||
@ -245,6 +269,90 @@ func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func WorkAnalysisConfirm(c *gin.Context) { // 确认数据分析并扣除余量
|
||||
var req bundleModel.UserWorkAnalysisConfirmReq
|
||||
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
if req.ConfirmStatus == 2 { // 驳回完直接结束
|
||||
res, err := service.CastProvider.UpdateWorkAnalysisStatus(c, &cast.UpdateWorkAnalysisStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
Uuid: req.Uuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
ConfirmStatus: 2,
|
||||
})
|
||||
fmt.Println("res:", res)
|
||||
fmt.Println("err:", err)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.UpdateWorkStatusFailed))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
balanceInfoRes, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{
|
||||
UserId: int32(userInfo.ID),
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.GetUserBalanceFailed))
|
||||
return
|
||||
}
|
||||
|
||||
analysisInfoRes, err := service.CastProvider.GetWorkAnalysis(c, &cast.GetWorkAnalysisDetailReq{
|
||||
Uuid: req.Uuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.GetWorkDetailFailed))
|
||||
return
|
||||
}
|
||||
if analysisInfoRes.WorkAnalysisStatus != 4 {
|
||||
service.Error(c, errors.New("数据分析不是待确认状态"))
|
||||
return
|
||||
}
|
||||
|
||||
var addBalanceReq bundle.AddBundleBalanceReq
|
||||
addBalanceReq.UserId = int32(userInfo.ID)
|
||||
// 检查数据分析余量
|
||||
if balanceInfoRes.DataAnalysisConsumptionNumber >= balanceInfoRes.DataAnalysisNumber {
|
||||
service.Error(c, errors.New("数据分析余量不足"))
|
||||
return
|
||||
}
|
||||
addBalanceReq.DataAnalysisConsumptionNumber = 1
|
||||
|
||||
resp, err := service.BundleProvider.AddBundleBalance(c, &addBalanceReq)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.AddBundleBalanceFailed))
|
||||
return
|
||||
}
|
||||
res, err := service.CastProvider.UpdateWorkAnalysisStatus(c, &cast.UpdateWorkAnalysisStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
Uuid: req.Uuid,
|
||||
ConfirmRemark: req.ConfirmRemark,
|
||||
CostType: resp.UsedType,
|
||||
ConfirmStatus: 1,
|
||||
})
|
||||
fmt.Println("res:", res)
|
||||
fmt.Println("err:", err)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.UpdateWorkStatusFailed))
|
||||
return
|
||||
}
|
||||
// 如果是艺人手动确认,确认操作后,自动标记为待阅读状态
|
||||
_, err = service.CastProvider.UpdateWorkAnalysisStatus(c, &cast.UpdateWorkAnalysisStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_READ,
|
||||
Uuid: req.Uuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.UpdateWorkStatusFailed))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func CastLogConfirm(ctx *gin.Context) {
|
||||
var req bundle.ConfirmWorkReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
@ -344,6 +452,7 @@ func writeToExcel(filename string, items []*bundle.BundleBalanceExportItem) erro
|
||||
"所属月份", "用户编号", "姓名", "手机号", "购买套餐时间",
|
||||
"套餐金额", "增值服务金额", "支付金额", "币种", "手续费",
|
||||
"套餐视频总数", "增值服务视频总数", "套餐视频单价", "增值视频单价",
|
||||
"当月消耗套餐金额($)", "当月消耗增值金额($)",
|
||||
"套餐账号总数", "增值账号总数", "套餐账号使用数", "增值账号使用数",
|
||||
"当前可用套餐视频数", "当前可用增值视频数", "当前已用套餐视频数", "当前已用增值视频数", "当前作废套餐视频数", "当前作废增值视频数", "当月新增可用套餐视频数", "当月新增可用增值视频数", "当月使用套餐视频数", "当月使用增值视频数", "当月作废套餐视频数", "当月作废增值视频数",
|
||||
"当前可用套餐图文数", "当前可用增值图文数", "当前已用套餐图文数", "当前已用增值图文数", "当前作废套餐图文数", "当前作废增值图文数", "当月新增可用套餐图文数", "当月新增可用增值图文数", "当月使用套餐图文数", "当月使用增值图文数", "当月作废套餐图文数", "当月作废增值图文数",
|
||||
@ -386,64 +495,76 @@ func writeToExcel(filename string, items []*bundle.BundleBalanceExportItem) erro
|
||||
_ = write(13, fmt.Sprintf("%.2f", it.BundleVideoUnitPrice))
|
||||
_ = write(14, fmt.Sprintf("%.2f", it.IncreaseVideoUnitPrice))
|
||||
|
||||
// 当月视频消耗金额($)
|
||||
monthlyBundleVideoConsumptionPrice, err := strconv.ParseFloat(it.MonthlyBundleVideoConsumptionPrice, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
monthlyIncreaseVideoConsumptionPrice, err := strconv.ParseFloat(it.MonthlyIncreaseVideoConsumptionPrice, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_ = write(15, fmt.Sprintf("%.2f", monthlyBundleVideoConsumptionPrice))
|
||||
_ = write(16, fmt.Sprintf("%.2f", monthlyIncreaseVideoConsumptionPrice))
|
||||
|
||||
// 账号类
|
||||
_ = write(15, int(it.BundleAccountNumber))
|
||||
_ = write(16, int(it.IncreaseAccountNumber))
|
||||
_ = write(17, int(it.BundleAccountConsumptionNumber))
|
||||
_ = write(18, int(it.IncreaseAccountConsumptionNumber))
|
||||
_ = write(17, int(it.BundleAccountNumber))
|
||||
_ = write(18, int(it.IncreaseAccountNumber))
|
||||
_ = write(19, int(it.BundleAccountConsumptionNumber))
|
||||
_ = write(20, int(it.IncreaseAccountConsumptionNumber))
|
||||
|
||||
// 视频类
|
||||
_ = write(19, int(it.MonthlyBundleVideoNumber))
|
||||
_ = write(20, int(it.MonthlyIncreaseVideoNumber))
|
||||
_ = write(21, int(it.BundleVideoConsumptionNumber))
|
||||
_ = write(22, int(it.IncreaseVideoConsumptionNumber))
|
||||
_ = write(23, int(it.InvalidBundleVideoNumber))
|
||||
_ = write(24, int(it.InvalidIncreaseVideoNumber))
|
||||
_ = write(25, int(it.MonthlyNewBundleVideoNumber))
|
||||
_ = write(26, int(it.MonthlyNewIncreaseVideoNumber))
|
||||
_ = write(27, int(it.MonthlyBundleVideoConsumptionNumber))
|
||||
_ = write(28, int(it.MonthlyIncreaseVideoConsumptionNumber))
|
||||
_ = write(29, int(it.MonthlyInvalidBundleVideoNumber))
|
||||
_ = write(30, int(it.MonthlyInvalidIncreaseVideoNumber))
|
||||
_ = write(21, int(it.MonthlyBundleVideoNumber))
|
||||
_ = write(22, int(it.MonthlyIncreaseVideoNumber))
|
||||
_ = write(23, int(it.BundleVideoConsumptionNumber))
|
||||
_ = write(24, int(it.IncreaseVideoConsumptionNumber))
|
||||
_ = write(25, int(it.InvalidBundleVideoNumber))
|
||||
_ = write(26, int(it.InvalidIncreaseVideoNumber))
|
||||
_ = write(27, int(it.MonthlyNewBundleVideoNumber))
|
||||
_ = write(28, int(it.MonthlyNewIncreaseVideoNumber))
|
||||
_ = write(29, int(it.MonthlyBundleVideoConsumptionNumber))
|
||||
_ = write(30, int(it.MonthlyIncreaseVideoConsumptionNumber))
|
||||
_ = write(31, int(it.MonthlyInvalidBundleVideoNumber))
|
||||
_ = write(32, int(it.MonthlyInvalidIncreaseVideoNumber))
|
||||
|
||||
// 图文类
|
||||
_ = write(31, int(it.MonthlyBundleImageNumber))
|
||||
_ = write(32, int(it.MonthlyIncreaseImageNumber))
|
||||
_ = write(33, int(it.BundleImageConsumptionNumber))
|
||||
_ = write(34, int(it.IncreaseImageConsumptionNumber))
|
||||
_ = write(35, int(it.InvalidBundleImageNumber))
|
||||
_ = write(36, int(it.InvalidIncreaseImageNumber))
|
||||
_ = write(37, int(it.MonthlyNewBundleImageNumber))
|
||||
_ = write(38, int(it.MonthlyNewIncreaseImageNumber))
|
||||
_ = write(39, int(it.MonthlyBundleImageConsumptionNumber))
|
||||
_ = write(40, int(it.MonthlyIncreaseImageConsumptionNumber))
|
||||
_ = write(41, int(it.MonthlyInvalidBundleImageNumber))
|
||||
_ = write(42, int(it.MonthlyInvalidIncreaseImageNumber))
|
||||
_ = write(33, int(it.MonthlyBundleImageNumber))
|
||||
_ = write(34, int(it.MonthlyIncreaseImageNumber))
|
||||
_ = write(35, int(it.BundleImageConsumptionNumber))
|
||||
_ = write(36, int(it.IncreaseImageConsumptionNumber))
|
||||
_ = write(37, int(it.InvalidBundleImageNumber))
|
||||
_ = write(38, int(it.InvalidIncreaseImageNumber))
|
||||
_ = write(39, int(it.MonthlyNewBundleImageNumber))
|
||||
_ = write(40, int(it.MonthlyNewIncreaseImageNumber))
|
||||
_ = write(41, int(it.MonthlyBundleImageConsumptionNumber))
|
||||
_ = write(42, int(it.MonthlyIncreaseImageConsumptionNumber))
|
||||
_ = write(43, int(it.MonthlyInvalidBundleImageNumber))
|
||||
_ = write(44, int(it.MonthlyInvalidIncreaseImageNumber))
|
||||
|
||||
// 数据分析类
|
||||
_ = write(43, int(it.MonthlyBundleDataAnalysisNumber))
|
||||
_ = write(44, int(it.MonthlyIncreaseDataAnalysisNumber))
|
||||
_ = write(45, int(it.BundleDataAnalysisConsumptionNumber))
|
||||
_ = write(46, int(it.IncreaseDataAnalysisConsumptionNumber))
|
||||
_ = write(47, int(it.InvalidBundleDataAnalysisNumber))
|
||||
_ = write(48, int(it.InvalidIncreaseDataAnalysisNumber))
|
||||
_ = write(49, int(it.MonthlyNewBundleDataAnalysisNumber))
|
||||
_ = write(50, int(it.MonthlyNewIncreaseDataAnalysisNumber))
|
||||
_ = write(51, int(it.MonthlyBundleDataAnalysisConsumptionNumber))
|
||||
_ = write(52, int(it.MonthlyIncreaseDataAnalysisConsumptionNumber))
|
||||
_ = write(53, int(it.MonthlyInvalidBundleDataAnalysisNumber))
|
||||
_ = write(54, int(it.MonthlyInvalidIncreaseDataAnalysisNumber))
|
||||
_ = write(45, int(it.MonthlyBundleDataAnalysisNumber))
|
||||
_ = write(46, int(it.MonthlyIncreaseDataAnalysisNumber))
|
||||
_ = write(47, int(it.BundleDataAnalysisConsumptionNumber))
|
||||
_ = write(48, int(it.IncreaseDataAnalysisConsumptionNumber))
|
||||
_ = write(49, int(it.InvalidBundleDataAnalysisNumber))
|
||||
_ = write(50, int(it.InvalidIncreaseDataAnalysisNumber))
|
||||
_ = write(51, int(it.MonthlyNewBundleDataAnalysisNumber))
|
||||
_ = write(52, int(it.MonthlyNewIncreaseDataAnalysisNumber))
|
||||
_ = write(53, int(it.MonthlyBundleDataAnalysisConsumptionNumber))
|
||||
_ = write(54, int(it.MonthlyIncreaseDataAnalysisConsumptionNumber))
|
||||
_ = write(55, int(it.MonthlyInvalidBundleDataAnalysisNumber))
|
||||
_ = write(56, int(it.MonthlyInvalidIncreaseDataAnalysisNumber))
|
||||
|
||||
// 手动扩展类
|
||||
_ = write(55, int(it.MonthlyNewManualAccountNumber))
|
||||
_ = write(56, int(it.MonthlyNewManualVideoNumber))
|
||||
_ = write(57, int(it.MonthlyNewManualImageNumber))
|
||||
_ = write(58, int(it.MonthlyNewManualDataAnalysisNumber))
|
||||
_ = write(59, int(it.MonthlyNewDurationNumber))
|
||||
_ = write(60, int(it.MonthlyManualAccountConsumptionNumber))
|
||||
_ = write(61, int(it.MonthlyManualVideoConsumptionNumber))
|
||||
_ = write(62, int(it.MonthlyManualImageConsumptionNumber))
|
||||
_ = write(63, int(it.MonthlyManualDataAnalysisConsumptionNumber))
|
||||
_ = write(57, int(it.MonthlyNewManualAccountNumber))
|
||||
_ = write(58, int(it.MonthlyNewManualVideoNumber))
|
||||
_ = write(59, int(it.MonthlyNewManualImageNumber))
|
||||
_ = write(60, int(it.MonthlyNewManualDataAnalysisNumber))
|
||||
_ = write(61, int(it.MonthlyNewDurationNumber))
|
||||
_ = write(62, int(it.MonthlyManualAccountConsumptionNumber))
|
||||
_ = write(63, int(it.MonthlyManualVideoConsumptionNumber))
|
||||
_ = write(64, int(it.MonthlyManualImageConsumptionNumber))
|
||||
_ = write(65, int(it.MonthlyManualDataAnalysisConsumptionNumber))
|
||||
|
||||
}
|
||||
|
||||
@ -463,7 +584,7 @@ func GetAccountBundleBalance(c *gin.Context) {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
req.Month = time.Now().Format("2006-01")
|
||||
req.Month = []string{time.Now().Format("2006-01")}
|
||||
res, err := service.BundleProvider.GetBundleBalanceList(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New(common.GetBundleBalanceListFailed))
|
||||
|
||||
@ -17,7 +17,6 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/duke-git/lancet/v2/datetime"
|
||||
"github.com/shopspring/decimal"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@ -93,9 +92,30 @@ func MetricsBundlePurchaseExport(ctx *gin.Context) {
|
||||
sumFee := decimal.Zero
|
||||
|
||||
for _, i := range data {
|
||||
sumPayment = sumPayment.Add(decimal.NewFromFloat(float64(i.PaymentAmount)))
|
||||
sumFinal = sumFinal.Add(decimal.NewFromFloat(float64(i.FinalAmount)))
|
||||
sumFee = sumFee.Add(decimal.NewFromFloat(float64(i.FeeAmount)))
|
||||
|
||||
s := fmt.Sprintf("%.2f", i.PaymentAmount)
|
||||
d, err := decimal.NewFromString(s)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.MetricsBundlePurchaseExportFailed))
|
||||
return
|
||||
}
|
||||
sumPayment = sumPayment.Add(d)
|
||||
|
||||
s = fmt.Sprintf("%.2f", i.FinalAmount)
|
||||
d, err = decimal.NewFromString(s)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.MetricsBundlePurchaseExportFailed))
|
||||
return
|
||||
}
|
||||
sumFinal = sumFinal.Add(d)
|
||||
|
||||
s = fmt.Sprintf("%.2f", i.FeeAmount)
|
||||
d, err = decimal.NewFromString(s)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.MetricsBundlePurchaseExportFailed))
|
||||
return
|
||||
}
|
||||
sumFee = sumFee.Add(d)
|
||||
}
|
||||
|
||||
f.SetCellValue(sheet, fmt.Sprintf("A%d", endRow+1), "合计支付金额(美元)")
|
||||
@ -171,7 +191,7 @@ func MetricsArtistAccountExport(ctx *gin.Context) {
|
||||
utils.CheckDirPath("./runtime/"+fmt.Sprint(userInfo.ID), true)
|
||||
sheet := "Sheet1"
|
||||
f := excelize.NewFile()
|
||||
headers := []string{"序号", "艺人", "用户编号", "DM账号名", "Instagram账号名", "TikTok账号名"}
|
||||
headers := []string{"序号", "艺人", "用户编号", "DM账号名", "DM账号状态", "Instagram账号名", "Instagram账号状态", "TikTok账号名", "TikTok账号状态", "Bluesky账号名", "Bluesky账号状态", "Youtube账号名", "Youtube账号状态"}
|
||||
for i, h := range headers {
|
||||
col, _ := excelize.ColumnNumberToName(i + 1)
|
||||
cell := col + "1"
|
||||
@ -185,6 +205,10 @@ func MetricsArtistAccountExport(ctx *gin.Context) {
|
||||
} else {
|
||||
scheme = "http"
|
||||
}
|
||||
authStatus := map[int32]string{
|
||||
1: "授权",
|
||||
2: "未授权",
|
||||
}
|
||||
for r, it := range resp.Data {
|
||||
row := r + 2
|
||||
// 逐列写入(注意顺序必须和 headers 一致)
|
||||
@ -196,9 +220,16 @@ func MetricsArtistAccountExport(ctx *gin.Context) {
|
||||
_ = write(1, r+1)
|
||||
_ = write(2, it.ArtistName)
|
||||
_ = write(3, it.UserNum)
|
||||
_ = write(4, it.DmAccount)
|
||||
_ = write(5, it.InstagramAccount)
|
||||
_ = write(6, it.TiktokAccount)
|
||||
_ = write(4, it.DmNickname)
|
||||
_ = write(5, authStatus[it.DmAuthStatus])
|
||||
_ = write(6, it.InstagramNickname)
|
||||
_ = write(7, authStatus[it.InsAuthStatus])
|
||||
_ = write(8, it.TiktokNickname)
|
||||
_ = write(9, authStatus[it.TiktokAuthStatus])
|
||||
_ = write(10, it.BlueskyNickname)
|
||||
_ = write(11, authStatus[it.BlueskyAuthStatus])
|
||||
_ = write(12, it.YoutubeNickname)
|
||||
_ = write(13, authStatus[it.YoutubeAuthStatus])
|
||||
}
|
||||
// 可选:设置列宽,使表格更美观
|
||||
_ = f.SetColWidth(sheet, "A", "AZ", 18)
|
||||
@ -225,13 +256,11 @@ func MetricsVideoSubmitExport(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
newCtx := serviceCast.NewCtxWithUserInfo(ctx)
|
||||
t, err := time.Parse("2006-01", req.Month)
|
||||
if err == nil {
|
||||
if len(req.Month) > 0 {
|
||||
resp, err = service.CastProvider.WorkList(newCtx, &cast.WorkListReq{
|
||||
SubmitStartTime: datetime.BeginOfMonth(t).Format(time.DateTime),
|
||||
SubmitEndTime: datetime.EndOfMonth(t).Format(time.DateTime),
|
||||
Page: 1,
|
||||
PageSize: 99999,
|
||||
SubmitTimeMonths: req.Month,
|
||||
Page: 1,
|
||||
PageSize: 99999,
|
||||
})
|
||||
fmt.Printf("resp.Count: %v\n", resp.Count)
|
||||
} else {
|
||||
|
||||
@ -22,6 +22,8 @@ import (
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
)
|
||||
|
||||
const ContractUrl = "https://e-cdn.fontree.cn/fonchain-main/prod/file/contract/saas/template-25122501.pdf"
|
||||
|
||||
func DeleteBundleOrder(c *gin.Context) {
|
||||
var req bundle.DeleteValueAddServiceRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
@ -239,15 +241,21 @@ func CreateBundleOrderSignature(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 签合同(金额 + 有效期)
|
||||
signContract, err := logic.SignContractV2(req.CustomerNum, bundleDetail.Contract, bundleDetail.Price+addTotalPrice, expirationDay)
|
||||
signContract, err := logic.SignContractV2(req.CustomerNum, bundleDetail.Contract, bundleDetail.Price+addTotalPrice, expirationDay, userInfo.Name, userInfo.IdNumber, userInfo.PlaceOfResidence)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
if userInfo.InviterID != 0 && logic.CheckUserFirstOrder(userInfo.ID) {
|
||||
req.InviterId = userInfo.InviterID
|
||||
}
|
||||
// 组装订单信息
|
||||
req = logic.BuildOrderRequest(req, userInfo, bundleDetail, addRecords, addTotalPrice, lastContractNo, signContract)
|
||||
|
||||
// 校验发布平台
|
||||
if len(req.PlatformIds) == 0 {
|
||||
req.PlatformIds = []uint32{1, 4, 5}
|
||||
}
|
||||
// 创建订单
|
||||
res, err := service.BundleProvider.CreateOrderRecord(context.Background(), &req)
|
||||
if err != nil {
|
||||
@ -257,7 +265,129 @@ func CreateBundleOrderSignature(c *gin.Context) {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
func VerificationSignature(c *gin.Context) {
|
||||
type VerificationSignature struct {
|
||||
Signature bool `json:"signature"`
|
||||
SignatureUrl string `json:"signature_url"`
|
||||
}
|
||||
res := VerificationSignature{Signature: false}
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
|
||||
// 添加用户信息验证
|
||||
if userInfo.ID == 0 {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
req := bundle.OrderRecordsDetailRequest{
|
||||
CustomerID: strconv.FormatUint(userInfo.ID, 10),
|
||||
}
|
||||
|
||||
records, err := service.BundleProvider.OrderRecordsDetail(c, &req)
|
||||
if err != nil {
|
||||
// 添加错误日志但继续返回false(业务逻辑)
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
// 优化空值判断链
|
||||
if records == nil || records.OrderRecord == nil {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
order := records.OrderRecord
|
||||
|
||||
customerID, err := strconv.ParseUint(order.CustomerID, 10, 64)
|
||||
if err != nil || customerID != userInfo.ID {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
//
|
||||
//if order.Status != bundleModel.OrderPaid {
|
||||
// service.Success(c, res)
|
||||
// return
|
||||
//}
|
||||
expirationTime, err := time.Parse("2006-01-02 15:04:05", order.ExpirationTime)
|
||||
if err != nil {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
if expirationTime.Before(time.Now()) {
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
if order.ReSignature == 1 {
|
||||
res.Signature = true
|
||||
contract := ContractUrl
|
||||
expirationDate := expirationTime.Format("2006-01-02")
|
||||
signContract, err := logic.SignContractV2(userInfo.SubNum, contract, 0, expirationDate, userInfo.Name, userInfo.IdNumber, userInfo.PlaceOfResidence)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
res.SignatureUrl = signContract
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
func RestartSignature(c *gin.Context) {
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
|
||||
req := bundle.OrderRecordsDetailRequest{
|
||||
CustomerID: strconv.FormatUint(userInfo.ID, 10),
|
||||
}
|
||||
records, err := service.BundleProvider.OrderRecordsDetail(c, &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("获取订单信息失败"))
|
||||
return
|
||||
}
|
||||
// 优化空值判断链
|
||||
if records == nil || records.OrderRecord == nil {
|
||||
service.Error(c, errors.New("获取订单信息失败"))
|
||||
return
|
||||
}
|
||||
|
||||
order := records.OrderRecord
|
||||
expirationTime, err := time.Parse("2006-01-02 15:04:05", order.ExpirationTime)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("获取订单过期日期错误"))
|
||||
return
|
||||
}
|
||||
|
||||
if expirationTime.Before(time.Now()) {
|
||||
service.Error(c, errors.New("订单已过期"))
|
||||
return
|
||||
}
|
||||
expirationDate := expirationTime.Format("2006-01-02")
|
||||
|
||||
if order.ReSignature == 2 {
|
||||
service.Error(c, errors.New("订单无需重新签署"))
|
||||
return
|
||||
}
|
||||
// 获取最后一次合同编号
|
||||
lastContractNo, err := logic.GetLastContractNo()
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
contract := ContractUrl
|
||||
signContract, err := logic.SignContractV2(userInfo.SubNum, contract, 0, expirationDate, userInfo.Name, userInfo.IdNumber, userInfo.PlaceOfResidence)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
res, err := service.BundleProvider.ReSignTheContract(c, &bundle.ReSignTheContractRequest{
|
||||
OrderNo: records.OrderRecord.OrderNo,
|
||||
ContractNo: lastContractNo,
|
||||
SignContract: signContract,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
func UpdateBundleOrderStatusPaid(c *gin.Context) {
|
||||
var req bundle.OrderRecord
|
||||
|
||||
@ -390,7 +520,6 @@ func OrderRecordsListV2(c *gin.Context) {
|
||||
for id := range userIdSet {
|
||||
userIds = append(userIds, id)
|
||||
}
|
||||
|
||||
userListResp, err := service.AccountFieeProvider.UserList(context.Background(), &accountFiee.UserListRequest{
|
||||
Ids: userIds,
|
||||
Domain: "app",
|
||||
@ -412,6 +541,10 @@ func OrderRecordsListV2(c *gin.Context) {
|
||||
item.CustomerName = u.Name
|
||||
item.TelNum = u.TelNum
|
||||
item.SubNum = u.SubNum
|
||||
if item.InviterId != 0 {
|
||||
item.InviterCode = u.InviterCode
|
||||
item.InviterName = u.InviterName
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -494,6 +627,10 @@ func OrderRecordsListDownload(c *gin.Context) {
|
||||
item.CustomerName = u.Name
|
||||
item.TelNum = u.TelNum
|
||||
item.SubNum = u.SubNum
|
||||
if item.InviterId != 0 {
|
||||
item.InviterCode = u.InviterCode
|
||||
item.InviterName = u.InviterName
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -518,7 +655,7 @@ func exportExcel(orderList []*bundle.OrderBundleRecordInfo) (*excelize.File, err
|
||||
|
||||
headers := []string{
|
||||
"套餐订单号", "套餐类型", "套餐付款状态", "艺人手机号", "用户编号", "艺人", "套餐订单创建时间", "套餐支付时间", "套餐金额",
|
||||
"增值服务订单号", "增值税服务金额", "支付金额", "币种", "手续费", "增值订单创建时间", "增值付款状态",
|
||||
"增值服务订单号", "增值税服务金额", "支付金额", "币种", "手续费", "增值订单创建时间", "增值付款状态", "邀请码", "邀请码所属人",
|
||||
}
|
||||
for i, h := range headers {
|
||||
cell := fmt.Sprintf("%s%d", string(rune('A'+i)), 1)
|
||||
@ -552,6 +689,8 @@ func exportExcel(orderList []*bundle.OrderBundleRecordInfo) (*excelize.File, err
|
||||
f.SetCellValue(sheetName, fmt.Sprintf("G%d", rowIndex), bundleInfo.BundleCreateAt)
|
||||
f.SetCellValue(sheetName, fmt.Sprintf("H%d", rowIndex), bundleInfo.PayTime)
|
||||
f.SetCellValue(sheetName, fmt.Sprintf("I%d", rowIndex), bundleInfo.Amount)
|
||||
f.SetCellValue(sheetName, fmt.Sprintf("Q%d", rowIndex), bundleInfo.InviterCode)
|
||||
f.SetCellValue(sheetName, fmt.Sprintf("R%d", rowIndex), bundleInfo.InviterName)
|
||||
|
||||
if addCount > 0 {
|
||||
for i, add := range bundleInfo.AddBundleInfo {
|
||||
@ -598,6 +737,38 @@ func GetCurrencyTypeText(currencyType int32) string {
|
||||
return strconv.Itoa(int(currencyType))
|
||||
}
|
||||
}
|
||||
func GetUserStatusText(status int32) string {
|
||||
switch status {
|
||||
case 1:
|
||||
return "未实名"
|
||||
case 2:
|
||||
return "审核中"
|
||||
case 3:
|
||||
return "审核失败"
|
||||
case 4:
|
||||
return "审核通过"
|
||||
default:
|
||||
return strconv.Itoa(int(status))
|
||||
}
|
||||
}
|
||||
func GetDocumentTypeText(documentType int32) string {
|
||||
switch documentType {
|
||||
case 1:
|
||||
return "护照"
|
||||
case 2:
|
||||
return "身份证"
|
||||
case 3:
|
||||
return "驾驶证"
|
||||
case 4:
|
||||
return "居住证"
|
||||
case 5:
|
||||
return "自拍照"
|
||||
case 6:
|
||||
return "社保卡"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
func OrderRecordsList(c *gin.Context) {
|
||||
var req bundle.OrderRecordsRequest
|
||||
|
||||
|
||||
@ -21,6 +21,36 @@ const (
|
||||
OnlyAddValueListByOrderNoFailed = "根据订单号查询增值套餐失败"
|
||||
)
|
||||
|
||||
//官网报告
|
||||
const (
|
||||
ErrorCreateReportFailed = "创建官网报告失败"
|
||||
ErrorDeleteReportFailed = "删除官网报告失败"
|
||||
ErrorListReportFailed = "官网报告列表查询失败"
|
||||
ErrorEditReportFailed = "编辑官网报告失败"
|
||||
ErrorDisplayReportFailed = "显示官网报告失败"
|
||||
)
|
||||
|
||||
//官网成员管理
|
||||
const (
|
||||
ErrorCreateMemberFailed = "创建官网成员失败"
|
||||
ErrorDeleteMemberFailed = "删除官网成员失败"
|
||||
ErrorListMemberFailed = "官网成员列表查询失败"
|
||||
ErrorEditMemberFailed = "编辑官网成员失败"
|
||||
ErrorDisplayMemberFailed = "显示官网成员失败"
|
||||
ErrorEditBoardOfDirectorsFailed = "编辑董事会成员失败"
|
||||
ErrorEditCommitteeAppointmentsFailed = "编辑委员会成员失败"
|
||||
ErrorDisplayCommitteeAppointmentsFailed = "显示委员会成员失败"
|
||||
ErrorEditManagementFailed = "编辑管理员失败"
|
||||
ErrorDisplayManagementFailed = "显示管理员失败"
|
||||
ErrorDisplayBoardOfDirectorsFailed = "显示董事会成员失败"
|
||||
)
|
||||
|
||||
//官网邮箱通知
|
||||
const (
|
||||
ErrorEmailAlertSubmitFailed = "提交邮箱通知失败"
|
||||
ErrorGetEmailInformationListFailed = "获取邮箱通知列表失败"
|
||||
)
|
||||
|
||||
// 订单
|
||||
const (
|
||||
MissOrderNo = "缺少订单号"
|
||||
@ -69,13 +99,15 @@ const (
|
||||
BundleUnBindingAddService = "套餐未绑定增值服务"
|
||||
)
|
||||
|
||||
//发布
|
||||
// 发布
|
||||
const (
|
||||
UpdateWorkStatusFailed = "更新作品状态失败"
|
||||
GetWorkDetailFailed = "获取作品详情失败"
|
||||
)
|
||||
|
||||
//余量
|
||||
//用户套餐状态
|
||||
|
||||
// 余量
|
||||
const (
|
||||
BundleExtendFailed = "套餐扩展失败"
|
||||
BundleExtendRecordsListFailed = "套餐扩展记录列表查询失败"
|
||||
@ -92,7 +124,13 @@ const (
|
||||
InsufficientBalance = "余量不足"
|
||||
)
|
||||
|
||||
//数据指标
|
||||
//用户套餐状态
|
||||
const (
|
||||
BundleExpired = 1 //已过期
|
||||
BundleNotExpired = 0 //未过期
|
||||
)
|
||||
|
||||
// 数据指标
|
||||
const (
|
||||
MetricsBusinessFailed = "业务概览查询失败"
|
||||
MetricsOperatingFailed = "运营数据查询失败"
|
||||
@ -103,7 +141,7 @@ const (
|
||||
BalanceMetricsExportFailed = "服务使用明细数据导出失败"
|
||||
)
|
||||
|
||||
//素材库
|
||||
// 素材库
|
||||
const (
|
||||
FileListFailed = "素材库列表查询失败"
|
||||
FileUsageFailed = "素材库使用情况查询失败"
|
||||
@ -121,7 +159,7 @@ const (
|
||||
ERROR_OPEN_FILE = "打开文件错误"
|
||||
)
|
||||
|
||||
//官网
|
||||
// 官网
|
||||
const (
|
||||
CreateSecFilingFailed = "创建官方信息失败"
|
||||
UpdateSecFilingFailed = "更新官方信息失败"
|
||||
|
||||
180
pkg/service/bundle/healthCheck.go
Normal file
180
pkg/service/bundle/healthCheck.go
Normal file
@ -0,0 +1,180 @@
|
||||
package bundle
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/api/files"
|
||||
"fonchain-fiee/api/governance"
|
||||
"fonchain-fiee/api/order"
|
||||
"fonchain-fiee/api/payment"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// HealthCheck 健康检测接口
|
||||
func HealthCheck(c *gin.Context) {
|
||||
healthStatus := gin.H{
|
||||
"status": "ok",
|
||||
"timestamp": time.Now().Unix(),
|
||||
"checks": make(map[string]interface{}),
|
||||
}
|
||||
|
||||
// 检查 Redis 连接
|
||||
redisStatus := "ok"
|
||||
redisErr := ""
|
||||
if cache.RedisClient != nil {
|
||||
_, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
||||
defer cancel()
|
||||
_, err := cache.RedisClient.Ping().Result()
|
||||
if err != nil {
|
||||
redisStatus = "failed"
|
||||
redisErr = err.Error()
|
||||
}
|
||||
} else {
|
||||
redisStatus = "failed"
|
||||
redisErr = "Redis client is nil"
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["redis"] = gin.H{
|
||||
"status": redisStatus,
|
||||
"error": redisErr,
|
||||
}
|
||||
|
||||
// 检查微服务连接(调用一个简单的服务方法)
|
||||
serviceStatus := "ok"
|
||||
serviceErr := ""
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
|
||||
defer cancel()
|
||||
|
||||
// 调用 BundleProvider 的简单方法进行健康检测
|
||||
_, err := service.BundleProvider.GetBundleBalanceByUserId(ctx, &bundle.GetBundleBalanceByUserIdReq{
|
||||
UserId: 0, // 使用一个不存在的用户ID,只检测服务连通性
|
||||
})
|
||||
if err != nil {
|
||||
// 检查是否是超时或连接错误
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Bundle Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["bundleService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
//调用 OrderProvider 的简单方法进行健康检测
|
||||
_, err = service.OrderProvider.GetOrder(ctx, &order.CommonRequest{
|
||||
ID: 0,
|
||||
Domain: "",
|
||||
SeriesUid: "", // 使用一个不存在的订单ID,只检测服务连通性
|
||||
})
|
||||
if err != nil {
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Order Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["orderService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
//调用 FilesProvider 的简单方法进行健康检测
|
||||
_, err = service.FilesProvider.List(ctx, &files.FileListReq{
|
||||
Path: "/",
|
||||
UserSpacePath: "/fiee",
|
||||
Page: 1,
|
||||
PageSize: 50,
|
||||
})
|
||||
if err != nil {
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Filesbrowser Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["filesbrowserService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
//调用 PaymentProvider 的简单方法进行健康检测
|
||||
_, err = service.PaymentProvider.QueryPayByOutTradeNo(ctx, &payment.PayQueryRequest{
|
||||
PayType: "2",
|
||||
OutTradeNo: "1234567890",
|
||||
})
|
||||
if err != nil {
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Payment Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["paymentService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
|
||||
//调用 CastProvider 的简单方法进行健康检测
|
||||
_, err = service.CastProvider.WorkList(ctx, &cast.WorkListReq{
|
||||
Page: 1,
|
||||
PageSize: 10,
|
||||
})
|
||||
if err != nil {
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Cast Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["castService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
//调用 GovernanceProvider 的简单方法进行健康检测
|
||||
_, err = service.GovernanceProvider.List(ctx, &governance.ListReq{
|
||||
Page: 1,
|
||||
PageSize: 10,
|
||||
})
|
||||
if err != nil {
|
||||
if ctx.Err() == context.DeadlineExceeded {
|
||||
serviceStatus = "Document Service timeout"
|
||||
serviceErr = "Service timeout"
|
||||
} else {
|
||||
// 其他错误(如业务错误)认为服务是可用的
|
||||
serviceStatus = "ok"
|
||||
serviceErr = ""
|
||||
}
|
||||
}
|
||||
healthStatus["checks"].(map[string]interface{})["documentService"] = gin.H{
|
||||
"status": serviceStatus,
|
||||
"error": serviceErr,
|
||||
}
|
||||
|
||||
// 如果所有检查都通过,返回 200,否则返回 503
|
||||
httpStatus := http.StatusOK
|
||||
if redisStatus != "ok" || serviceStatus != "ok" {
|
||||
httpStatus = http.StatusServiceUnavailable
|
||||
healthStatus["status"] = "degraded"
|
||||
}
|
||||
|
||||
c.JSON(httpStatus, healthStatus)
|
||||
}
|
||||
@ -63,6 +63,24 @@ func CheckUserOrder(userID uint64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 校验用户是否首次购买
|
||||
func CheckUserFirstOrder(userID uint64) bool {
|
||||
req := bundle.OrderRecordsDetailRequest{
|
||||
CustomerID: strconv.FormatUint(userID, 10),
|
||||
Status: 2,
|
||||
}
|
||||
records, _ := service.BundleProvider.OrderRecordsDetail(context.Background(), &req)
|
||||
// 用户没有任何订单记录
|
||||
if records.OrderRecord == nil {
|
||||
return true
|
||||
}
|
||||
// 检查订单是否属于该用户
|
||||
if records.OrderRecord.CustomerID != strconv.FormatUint(userID, 10) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 获取最后一次合同编号
|
||||
func GetLastContractNo() (string, error) {
|
||||
records, err := service.BundleProvider.OrderRecordsList(context.Background(), &bundle.OrderRecordsRequest{
|
||||
@ -94,6 +112,7 @@ func BuildServiceRecords(req *bundle.OrderCreateRecord, bundleDetail *bundle.Bun
|
||||
expirationDay string
|
||||
addUidService = make(map[string]bool)
|
||||
bundleUidService = make(map[string]bool)
|
||||
foundExpiration = false
|
||||
)
|
||||
|
||||
// 分类权益
|
||||
@ -149,12 +168,15 @@ func BuildServiceRecords(req *bundle.OrderCreateRecord, bundleDetail *bundle.Bun
|
||||
addRecords = append(addRecords, buildAddRecord(addService, uid, 0, num, 1))
|
||||
|
||||
// 计算到期时间
|
||||
if addService.ServiceType == 5 {
|
||||
if !foundExpiration && addService.ServiceType == 5 {
|
||||
expirationDay = calculateExpirationDate(time.Now(), num, addService.Unit)
|
||||
} else {
|
||||
expirationDay = time.Now().AddDate(0, 0, 7).Format("2006-01-02")
|
||||
foundExpiration = true
|
||||
}
|
||||
}
|
||||
// 如果没有找到服务类型为5的,使用默认值
|
||||
if !foundExpiration {
|
||||
expirationDay = time.Now().AddDate(0, 0, 7).Format("2006-01-02")
|
||||
}
|
||||
|
||||
return addRecords, addTotalPrice, expirationDay, nil
|
||||
}
|
||||
|
||||
@ -8,14 +8,13 @@ import (
|
||||
"fonchain-fiee/pkg/service/upload"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/signintech/gopdf"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func SignContractV2(customerNum, contract string, price float32, expirationDate string) (outputUrl string, err error) {
|
||||
func SignContractV2(customerNum, contract string, price float32, expirationDate string, nickName string, idCard string, address string) (outputUrl string, err error) {
|
||||
filePath := model.MediaPath + customerNum + time.Now().Format("20060102150405") + ".pdf"
|
||||
downloadFileErr := DownloadFile(filePath, contract)
|
||||
if downloadFileErr != nil {
|
||||
@ -32,7 +31,7 @@ func SignContractV2(customerNum, contract string, price float32, expirationDate
|
||||
return outputUrl, errors.New(common.ErrorInsertSignature)
|
||||
}*/
|
||||
|
||||
signErr := InsertSignatureV2(filePath, signFile, price, expirationDate)
|
||||
signErr := InsertSignatureV2(filePath, signFile, price, expirationDate, nickName, idCard, address)
|
||||
if signErr != nil {
|
||||
zap.L().Error("insert signature error: ", zap.Error(signErr))
|
||||
return outputUrl, errors.New(common.ErrorInsertSignature)
|
||||
@ -47,7 +46,7 @@ func SignContractV2(customerNum, contract string, price float32, expirationDate
|
||||
return outputUrl, nil
|
||||
}
|
||||
|
||||
func InsertSignatureV2(templatePath, outputPath string, price float32, expirationDate string) error {
|
||||
func InsertSignatureV2(templatePath, outputPath string, price float32, expirationDate string, nickName string, idCard string, address string) error {
|
||||
fmt.Println("================================templatePath:", templatePath)
|
||||
fmt.Println("================================outputPath:", outputPath)
|
||||
fmt.Println("================================price:", price)
|
||||
@ -65,9 +64,9 @@ func InsertSignatureV2(templatePath, outputPath string, price float32, expiratio
|
||||
totalPages := pdf.GetNumberOfPages()
|
||||
fmt.Printf("模板文件的总页数: %d\n", totalPages)
|
||||
|
||||
pricePage := 3
|
||||
|
||||
limitTimePage := 4
|
||||
onePage := 1
|
||||
sixPage := 6
|
||||
tenPage := 10
|
||||
|
||||
tffErr := pdf.AddTTFFont("simfang", "./data/simfang.ttf")
|
||||
if tffErr != nil {
|
||||
@ -82,42 +81,54 @@ func InsertSignatureV2(templatePath, outputPath string, price float32, expiratio
|
||||
log.Fatalf("设置字体失败: %v", err)
|
||||
}
|
||||
|
||||
// 填 金额
|
||||
pdf.SetPage(pricePage)
|
||||
pdf.SetX(383)
|
||||
pdf.SetY(351)
|
||||
pdf.Cell(nil, strconv.FormatFloat(float64(price), 'f', 2, 64))
|
||||
|
||||
pdf.SetX(345)
|
||||
pdf.SetY(383)
|
||||
pdf.Cell(nil, strconv.FormatFloat(float64(price), 'f', 2, 64))
|
||||
// 写 有效期
|
||||
pdf.SetPage(limitTimePage)
|
||||
|
||||
// 英文格式的时间
|
||||
parsedTime, err := time.Parse("2006-01-02", expirationDate)
|
||||
if err != nil {
|
||||
panic("日期格式错误!")
|
||||
fmt.Println("时间解析错误: %v", err)
|
||||
fmt.Println(expirationDate)
|
||||
return errors.New("时间解析错误")
|
||||
}
|
||||
year := parsedTime.Format("2006") // "2006"
|
||||
month := parsedTime.Format("01") // "01"
|
||||
day := parsedTime.Format("02") // "02"
|
||||
pdf.SetX(160)
|
||||
pdf.SetY(387)
|
||||
pdf.Cell(nil, expirationDate)
|
||||
|
||||
pdf.SetX(330)
|
||||
pdf.SetY(403)
|
||||
// 填 第一页 日期-姓名-身份证号
|
||||
pdf.SetPage(onePage)
|
||||
pdf.SetX(232)
|
||||
pdf.SetY(152)
|
||||
pdf.Cell(nil, year)
|
||||
|
||||
pdf.SetX(396)
|
||||
pdf.SetY(403)
|
||||
pdf.SetX(279)
|
||||
pdf.SetY(152)
|
||||
pdf.Cell(nil, month)
|
||||
|
||||
pdf.SetX(443)
|
||||
pdf.SetY(403)
|
||||
pdf.SetX(313)
|
||||
pdf.SetY(152)
|
||||
pdf.Cell(nil, day)
|
||||
pdf.SetX(370)
|
||||
pdf.SetY(152)
|
||||
pdf.Cell(nil, nickName)
|
||||
pdf.SetX(175)
|
||||
pdf.SetY(170)
|
||||
pdf.Cell(nil, idCard)
|
||||
//pdf.Cell(nil, strconv.FormatFloat(float64(price), 'f', 2, 64))
|
||||
|
||||
// 写 第六页 日期
|
||||
pdf.SetPage(sixPage)
|
||||
pdf.SetX(343)
|
||||
pdf.SetY(138)
|
||||
pdf.Cell(nil, year)
|
||||
pdf.SetX(401)
|
||||
pdf.SetY(138)
|
||||
pdf.Cell(nil, month)
|
||||
pdf.SetX(447)
|
||||
pdf.SetY(138)
|
||||
pdf.Cell(nil, day)
|
||||
// 写 第十页 地址 姓名 邮件
|
||||
pdf.SetPage(tenPage)
|
||||
pdf.SetX(195)
|
||||
pdf.SetY(253)
|
||||
pdf.Cell(nil, address)
|
||||
pdf.SetX(215)
|
||||
pdf.SetY(270)
|
||||
pdf.Cell(nil, nickName)
|
||||
// 生成新的 PDF
|
||||
if err = pdf.WritePdf(outputPath); err != nil {
|
||||
//zap.L().Error("WritePdf err", zap.Error(err))
|
||||
|
||||
@ -2,7 +2,6 @@ package bundle
|
||||
|
||||
import (
|
||||
"context"
|
||||
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@ -10,6 +9,7 @@ import (
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/order"
|
||||
"fonchain-fiee/api/payment"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/config"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
@ -19,6 +19,9 @@ import (
|
||||
"math"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
@ -141,7 +144,13 @@ func CreateAntomPay(c *gin.Context) {
|
||||
|
||||
// 获取 用户信息
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
|
||||
// 创建审批 防止重复提交
|
||||
lockKey := fmt.Sprintf("create_antom_pay_%v", userInfo.ID)
|
||||
reply := cache.RedisClient.SetNX(lockKey, 0, 5*time.Second)
|
||||
if !reply.Val() {
|
||||
service.Error(c, errors.New(common.CreateBundleFailed))
|
||||
return
|
||||
}
|
||||
// outTradeNo就是orderNo,根据这个去查询子表的source,如果是2就时单独的子套餐,如果是1就是主套餐
|
||||
orderLimit, err := service.BundleProvider.OrderListByOrderNo(context.Background(), &bundle.OrderInfoByOrderNoRequest{
|
||||
OrderNo: req.OutTradeNo,
|
||||
|
||||
@ -2,6 +2,7 @@ package bundle
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/accountFiee"
|
||||
"fonchain-fiee/api/bundle"
|
||||
@ -276,6 +277,7 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
var TotalPrice float32
|
||||
var expirationDay string
|
||||
numMap := make(map[string]int32)
|
||||
numMap["1500.00"] = 0
|
||||
numMap["3150.00"] = 3
|
||||
numMap["4200.00"] = 5
|
||||
numMap["5600.00"] = 8
|
||||
@ -288,6 +290,7 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
numMap["18300.00"] = 40
|
||||
numMap["26700.00"] = 60
|
||||
incrMap := make(map[string]float32)
|
||||
incrMap["1500.00"] = 0
|
||||
incrMap["3150.00"] = 1650
|
||||
incrMap["4200.00"] = 2700
|
||||
incrMap["5600.00"] = 4100
|
||||
@ -363,7 +366,7 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
ValueUid: accountUuid,
|
||||
CurrencyType: 2, //美元
|
||||
Amount: 0, //增值服务金额
|
||||
Num: 3,
|
||||
Num: 5,
|
||||
Unit: "个",
|
||||
Source: 1,
|
||||
PaymentStatus: 1,
|
||||
@ -385,9 +388,10 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
},
|
||||
)
|
||||
// 当前 未将 签名 写入合同中 todo 金额和有效时间待修改
|
||||
contract := "https://e-cdn.fontree.cn/fonchain-main/prod/file/saas/contract/template-25032801.pdf"
|
||||
contract := ContractUrl
|
||||
expirationDay = t.AddDate(1, 0, 0).Format("2006-01-02")
|
||||
signContract, signContractErr := logic.SignContractV2(userReq.UserNum, contract, TotalPrice, expirationDay)
|
||||
|
||||
signContract, signContractErr := logic.SignContractV2(userReq.UserNum, contract, TotalPrice, expirationDay, unfinishInfo.UserName, unfinishInfo.CardNum, unfinishInfo.PlaceOfResidence)
|
||||
if signContractErr != nil {
|
||||
service.Error(c, signContractErr)
|
||||
return
|
||||
@ -414,6 +418,7 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
orderReq.OrderNo = unfinishInfo.OrderNo
|
||||
//expirationTime := t.AddDate(10, 0, 0).Format("2006-01-02 15:04:05")
|
||||
//orderReq.ExpirationTime = expirationTime
|
||||
orderReq.PlatformIds = []uint32{1, 4, 5}
|
||||
_, err = service.BundleProvider.CreateOrderRecord(context.Background(), &orderReq)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
@ -547,3 +552,21 @@ func AutoCreateUserAndOrder(c *gin.Context) {
|
||||
return
|
||||
|
||||
}
|
||||
func QueryTheOrderSnapshotInformation(c *gin.Context) {
|
||||
var req bundle.QueryTheOrderSnapshotInformationReq
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
if req.OrderNo == "" {
|
||||
service.Error(c, errors.New("订单号不能为空"))
|
||||
return
|
||||
}
|
||||
res, err := service.BundleProvider.QueryTheOrderSnapshotInformation(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
2683
pkg/service/cast/analysis.go
Normal file
2683
pkg/service/cast/analysis.go
Normal file
File diff suppressed because it is too large
Load Diff
@ -6,6 +6,10 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/aryshare"
|
||||
"fonchain-fiee/api/cast"
|
||||
modelCast "fonchain-fiee/pkg/model/cast"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"io"
|
||||
"mime/multipart"
|
||||
@ -14,6 +18,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
@ -56,7 +61,7 @@ func UploadMediaByURL(ctx context.Context, fileURL, fileName, description string
|
||||
if fileURL == "" {
|
||||
return nil, errors.New("文件URL不能为空")
|
||||
}
|
||||
ok, err := VerifyMediaURL(ctx, fileURL)
|
||||
/*ok, err := VerifyMediaURL(ctx, fileURL) // 检测文件是否OK, 关闭遇到了检测OK 发布不OK的 不相信API了
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -68,11 +73,11 @@ func UploadMediaByURL(ctx context.Context, fileURL, fileName, description string
|
||||
Description: "",
|
||||
IsAs: false,
|
||||
}, nil
|
||||
}
|
||||
}*/
|
||||
// 下载文件到临时目录
|
||||
tempFile, fileSize, err := downloadFile(ctx, fileURL)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("下载文件失败: %v", err)
|
||||
return nil, fmt.Errorf("下载文件失败")
|
||||
}
|
||||
defer os.Remove(tempFile) // 清理临时文件
|
||||
|
||||
@ -82,14 +87,34 @@ func UploadMediaByURL(ctx context.Context, fileURL, fileName, description string
|
||||
if fileName == "" {
|
||||
fileName = filepath.Base(fileURL)
|
||||
}
|
||||
|
||||
var result *UploadMediaResponse
|
||||
// 根据文件大小选择上传方式
|
||||
if fileSize < maxSmallFileSize {
|
||||
zap.L().Info("使用小文件上传方式", zap.Int64("fileSize", fileSize))
|
||||
return uploadSmallMedia(ctx, tempFile, apiKey, fileName, description)
|
||||
result, err = uploadSmallMedia(ctx, tempFile, apiKey, fileName, description)
|
||||
} else {
|
||||
zap.L().Info("使用大文件上传方式", zap.Int64("fileSize", fileSize))
|
||||
result, err = uploadLargeMedia(ctx, tempFile, apiKey, fileName, description)
|
||||
}
|
||||
zap.L().Info("使用大文件上传方式", zap.Int64("fileSize", fileSize))
|
||||
return uploadLargeMedia(ctx, tempFile, apiKey, fileName, description)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 上传后等待并验证 URL 是否可访问
|
||||
maxRetries := 5
|
||||
var ok bool
|
||||
for i := 0; i < maxRetries; i++ {
|
||||
time.Sleep(2 * time.Second)
|
||||
ok, err = VerifyMediaURL(ctx, result.URL)
|
||||
if err == nil && ok {
|
||||
zap.L().Info("媒体URL验证成功", zap.String("url", result.URL), zap.Int("retry", i))
|
||||
return result, nil
|
||||
}
|
||||
zap.L().Warn("媒体URL验证失败,重试中",
|
||||
zap.String("url", result.URL),
|
||||
zap.Int("retry", i+1),
|
||||
zap.Int("maxRetries", maxRetries))
|
||||
}
|
||||
return nil, fmt.Errorf("媒体URL验证失败")
|
||||
}
|
||||
|
||||
// downloadFile 下载文件到临时目录
|
||||
@ -107,7 +132,7 @@ func downloadFile(ctx context.Context, fileURL string) (string, int64, error) {
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
return "", 0, fmt.Errorf("下载文件失败,HTTP状态码: %d", resp.StatusCode)
|
||||
return "", 0, fmt.Errorf("下载文件失败")
|
||||
}
|
||||
|
||||
// 创建临时文件
|
||||
@ -131,7 +156,7 @@ func downloadFile(ctx context.Context, fileURL string) (string, int64, error) {
|
||||
func uploadSmallMedia(ctx context.Context, filePath, apiKey, fileName, description string) (*UploadMediaResponse, error) {
|
||||
file, err := os.Open(filePath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("打开文件失败: %v", err)
|
||||
return nil, fmt.Errorf("打开文件失败")
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
@ -173,23 +198,23 @@ func uploadSmallMedia(ctx context.Context, filePath, apiKey, fileName, descripti
|
||||
client := &http.Client{Timeout: 10 * time.Minute}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("请求失败: %v", err)
|
||||
return nil, fmt.Errorf("请求失败")
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
respBody, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("读取响应失败: %v", err)
|
||||
return nil, fmt.Errorf("读取响应失败")
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
zap.L().Error("上传小文件失败", zap.Int("statusCode", resp.StatusCode), zap.String("response", string(respBody)))
|
||||
return nil, fmt.Errorf("上传失败: HTTP %d, %s", resp.StatusCode, string(respBody))
|
||||
return nil, fmt.Errorf("上传失败")
|
||||
}
|
||||
|
||||
var result UploadMediaResponse
|
||||
if err := json.Unmarshal(respBody, &result); err != nil {
|
||||
return nil, fmt.Errorf("解析响应失败: %v", err)
|
||||
return nil, fmt.Errorf("解析响应失败")
|
||||
}
|
||||
|
||||
zap.L().Info("小文件上传成功", zap.Any("response", result))
|
||||
@ -207,7 +232,7 @@ func uploadLargeMedia(ctx context.Context, filePath, apiKey, fileName, descripti
|
||||
// Step 1: 获取上传URL
|
||||
uploadURLResp, err := getUploadURL(ctx, apiKey, fileName, ext)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("获取上传URL失败: %v", err)
|
||||
return nil, fmt.Errorf("获取上传URL失败")
|
||||
}
|
||||
|
||||
zap.L().Info("获取上传URL成功", zap.Any("uploadURLResp", uploadURLResp))
|
||||
@ -215,28 +240,36 @@ func uploadLargeMedia(ctx context.Context, filePath, apiKey, fileName, descripti
|
||||
// Step 2: 上传文件到presigned URL
|
||||
file, err := os.Open(filePath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("打开文件失败: %v", err)
|
||||
return nil, fmt.Errorf("打开文件失败")
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
// 获取文件大小
|
||||
fileInfo, err := file.Stat()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("获取文件信息失败")
|
||||
}
|
||||
fileSize := fileInfo.Size()
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, "PUT", uploadURLResp.UploadURL, file)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
req.Header.Set("Content-Type", uploadURLResp.ContentType)
|
||||
req.ContentLength = fileSize // 设置Content-Length
|
||||
|
||||
client := &http.Client{Timeout: 30 * time.Minute}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("上传文件失败: %v", err)
|
||||
return nil, fmt.Errorf("上传文件失败")
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
respBody, _ := io.ReadAll(resp.Body)
|
||||
zap.L().Error("上传大文件失败", zap.Int("statusCode", resp.StatusCode), zap.String("response", string(respBody)))
|
||||
return nil, fmt.Errorf("上传失败: HTTP %d", resp.StatusCode)
|
||||
return nil, fmt.Errorf("上传失败")
|
||||
}
|
||||
|
||||
zap.L().Info("大文件上传成功")
|
||||
@ -277,12 +310,12 @@ func getUploadURL(ctx context.Context, apiKey, fileName, contentType string) (*U
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
zap.L().Error("获取上传URL失败", zap.Int("statusCode", resp.StatusCode), zap.String("response", string(respBody)))
|
||||
return nil, fmt.Errorf("获取上传URL失败: HTTP %d, %s", resp.StatusCode, string(respBody))
|
||||
return nil, fmt.Errorf("获取上传URL失败了")
|
||||
}
|
||||
|
||||
var result UploadURLResponse
|
||||
if err := json.Unmarshal(respBody, &result); err != nil {
|
||||
return nil, fmt.Errorf("解析响应失败: %v", err)
|
||||
return nil, fmt.Errorf("解析响应失败")
|
||||
}
|
||||
|
||||
return &result, nil
|
||||
@ -313,3 +346,215 @@ func VerifyMediaURL(ctx context.Context, mediaURL string) (bool, error) {
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func SendMessage(ctx *gin.Context) {
|
||||
var req modelCast.SendMessageReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if req.RecipientId == "" {
|
||||
service.Error(ctx, errors.New("请选择接收者"))
|
||||
return
|
||||
}
|
||||
mediaUserInfo, err := GetMediaInfo(req.MediaAccountUuid)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
var platformName = modelCast.PlatformNameKv[req.PlatformID]
|
||||
if platformName != "facebook" && platformName != "instagram" && platformName != "twitter" {
|
||||
service.Error(ctx, errors.New("不支持的媒体"))
|
||||
return
|
||||
}
|
||||
sendResp, err := service.AyrshareProvider.SendMessage(context.Background(), &aryshare.SendMessageRequest{
|
||||
Platform: platformName,
|
||||
RecipientId: req.RecipientId,
|
||||
Message: req.Message,
|
||||
MediaUrls: []string{},
|
||||
ProfileKey: mediaUserInfo.AsInfo.ProfileKey,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("发送消息失败", zap.Error(err), zap.Any("mediaInfo", mediaUserInfo))
|
||||
service.Error(ctx, errors.New("发送消息异常"))
|
||||
return
|
||||
}
|
||||
if sendResp.Status != "success" {
|
||||
zap.L().Error("发送消息失败", zap.Any("sendResp", sendResp))
|
||||
service.Error(ctx, errors.New("发送消息失败"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, sendResp)
|
||||
return
|
||||
}
|
||||
|
||||
func GetMessage(ctx *gin.Context) {
|
||||
var req modelCast.SendMessageReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
mediaUserInfo, err := GetMediaInfo(req.MediaAccountUuid)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
var platformName = modelCast.PlatformNameKv[mediaUserInfo.PlatformID]
|
||||
messageResp, err := service.AyrshareProvider.GetMessages(context.Background(), &aryshare.GetMessagesRequest{
|
||||
Platform: platformName,
|
||||
Status: "active", // active 主动 archived 已存档
|
||||
ConversationId: "",
|
||||
ConversationsOnly: false,
|
||||
ProfileKey: mediaUserInfo.AsInfo.ProfileKey,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("获取消息失败", zap.Error(err), zap.Any("mediaInfo", mediaUserInfo))
|
||||
service.Error(ctx, errors.New("获取消息异常"))
|
||||
return
|
||||
}
|
||||
if messageResp.Status != "success" {
|
||||
zap.L().Error("获取消息失败", zap.Any("messageResp", messageResp))
|
||||
service.Error(ctx, errors.New("获取消息失败"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, messageResp)
|
||||
return
|
||||
}
|
||||
|
||||
// GetMediaInfo 根据自媒体ID查询信息
|
||||
func GetMediaInfo(mediaUserID string) (*cast.MediaUserInfo, error) {
|
||||
userListResp, err := service.CastProvider.MediaUserList(context.Background(), &cast.MediaUserListReq{
|
||||
MediaUserID: mediaUserID,
|
||||
NeedAsInfo: true,
|
||||
PageSize: 1,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if userListResp == nil || len(userListResp.Data) == 0 {
|
||||
return nil, errors.New("未找到该自媒体")
|
||||
}
|
||||
return userListResp.Data[0], nil
|
||||
}
|
||||
|
||||
func PostComment(ctx *gin.Context) {
|
||||
var req modelCast.PostCommentReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
artistInfo, err := service.CastProvider.ArtistInfo(context.Background(), &cast.ArtistInfoReq{
|
||||
ArtistUuid: req.ArtistUuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
commentReq := &aryshare.PostCommentRequest{
|
||||
Id: req.PublishMediaID,
|
||||
Comment: req.Comment,
|
||||
Platforms: []string{modelCast.PlatformNameKv[uint32(req.PlatformID)]},
|
||||
SearchPlatformId: false,
|
||||
MediaUrls: nil,
|
||||
ProfileKey: artistInfo.ProfileKey,
|
||||
}
|
||||
zap.L().Info("发布评论", zap.Any("commentReq", commentReq))
|
||||
commentResp, err := service.AyrshareProvider.PostComment(context.Background(), commentReq)
|
||||
if err != nil {
|
||||
zap.L().Error("发布评论异常", zap.Error(err), zap.Any("artistInfo", artistInfo))
|
||||
service.Error(ctx, errors.New("发布评论异常"))
|
||||
return
|
||||
}
|
||||
if commentResp.Status != "success" {
|
||||
service.Error(ctx, errors.New("发布评论失败"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, commentResp)
|
||||
return
|
||||
}
|
||||
|
||||
func GetComment(ctx *gin.Context) {
|
||||
var req modelCast.GetCommentReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
artistInfo, err := service.CastProvider.ArtistInfo(context.Background(), &cast.ArtistInfoReq{
|
||||
ArtistUuid: req.ArtistUuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
commentResp, err := service.AyrshareProvider.GetComment(context.Background(), &aryshare.GetCommentRequest{
|
||||
Id: req.PublishMediaID,
|
||||
ProfileKey: artistInfo.ProfileKey,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, commentResp)
|
||||
return
|
||||
}
|
||||
|
||||
func DeleteComment(ctx *gin.Context) {
|
||||
var req modelCast.DeleteCommentReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
artistInfo, err := service.CastProvider.ArtistInfo(context.Background(), &cast.ArtistInfoReq{
|
||||
ArtistUuid: req.ArtistUuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
commentResp, err := service.AyrshareProvider.DeleteComment(context.Background(), &aryshare.DeleteCommentRequest{
|
||||
Id: req.CommentId,
|
||||
Platforms: nil,
|
||||
Platform: modelCast.PlatformNameKv[uint32(req.PlatformID)],
|
||||
SearchPlatformId: true,
|
||||
ProfileKey: artistInfo.ProfileKey,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("删除评论异常", zap.Error(err), zap.Any("artistInfo", artistInfo))
|
||||
service.Error(ctx, errors.New("删除评论异常"))
|
||||
return
|
||||
}
|
||||
if commentResp.Status != "success" {
|
||||
service.Error(ctx, errors.New("删除评论失败"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, commentResp)
|
||||
return
|
||||
}
|
||||
|
||||
func ReplyComment(ctx *gin.Context) {
|
||||
var req modelCast.ReplyCommentReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
artistInfo, err := service.CastProvider.ArtistInfo(context.Background(), &cast.ArtistInfoReq{
|
||||
ArtistUuid: req.ArtistUuid,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
commentResp, err := service.AyrshareProvider.ReplyComment(context.Background(), &aryshare.ReplyCommentRequest{
|
||||
Id: req.CommentId,
|
||||
Comment: req.Comment,
|
||||
Platforms: []string{modelCast.PlatformNameKv[uint32(req.PlatformID)]},
|
||||
ProfileKey: artistInfo.ProfileKey,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("回复评论异常", zap.Error(err), zap.Any("artistInfo", artistInfo))
|
||||
service.Error(ctx, errors.New("回复评论异常"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, commentResp)
|
||||
return
|
||||
}
|
||||
|
||||
40
pkg/service/cast/images.go
Normal file
40
pkg/service/cast/images.go
Normal file
@ -0,0 +1,40 @@
|
||||
package cast
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/pkg/service"
|
||||
)
|
||||
|
||||
func CheckImage(workUuid string) error {
|
||||
detailResp, err := service.CastProvider.WorkDetail(context.Background(), &cast.WorkDetailReq{WorkUuid: workUuid})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if detailResp.CoverUrl == "" {
|
||||
return nil
|
||||
}
|
||||
if detailResp.WorkCategory == 1 {
|
||||
return nil
|
||||
}
|
||||
resourceResp, err := service.CastProvider.WorkResource(context.Background(), &cast.WorkResourceReq{WorkUuid: workUuid})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if detailResp.CoverUrl == resourceResp.OldCoverUrl {
|
||||
return nil
|
||||
}
|
||||
mediaUrls, err := ProcessImg([]string{detailResp.CoverUrl})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(mediaUrls) > 0 {
|
||||
_, _ = service.CastProvider.UpdateWorkResource(context.Background(), &cast.UpdateWorkResourceReq{
|
||||
Uuid: "",
|
||||
WorkUuid: detailResp.WorkUuid,
|
||||
OldCoverUrl: detailResp.CoverUrl,
|
||||
NewCoverUrl: mediaUrls[0],
|
||||
})
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -12,12 +12,19 @@ import (
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/e"
|
||||
modelCast "fonchain-fiee/pkg/model/cast"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
@ -37,6 +44,45 @@ func MediaUserList(ctx *gin.Context) {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if req.NeedStats {
|
||||
var statResp *bundle.ArtistUploadStatsResponse
|
||||
zap.L().Info("MediaUserList 1")
|
||||
//取出艺人num
|
||||
var artistSubNums []string
|
||||
for _, v := range resp.Data {
|
||||
artistSubNums = append(artistSubNums, v.ArtistSubNum)
|
||||
}
|
||||
statResp, err = service.BundleProvider.GetArtistUploadStatsList(context.Background(), &bundle.TaskQueryRequest{
|
||||
Keyword: "",
|
||||
Page: 0,
|
||||
PageSize: 0,
|
||||
SortBy: "",
|
||||
SortType: "",
|
||||
LastTaskAssignee: "",
|
||||
SubNums: artistSubNums,
|
||||
})
|
||||
zap.L().Info("MediaUserList 2")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
for _, v := range resp.Data {
|
||||
for _, vv := range statResp.Items {
|
||||
if v.ArtistSubNum == vv.SubNum {
|
||||
info := vv
|
||||
// "pendingVideoCount": 10, // 待上传视频数 "uploadedVideoCount": 25, // 已上传视频数 "releasedVideoTotal": 35, // 已释放视频总数
|
||||
//"pendingPostCount": 14, // 待上传图文数 "uploadedPostCount": 21, // 已上传图文数 "releasedPostTotal": 35, // 已释放图文总数
|
||||
v.PendingVideoCount = info.PendingVideoCount
|
||||
v.UploadedVideoCount = info.UploadedVideoCount
|
||||
v.ReleasedVideoTotal = info.ReleasedVideoTotal
|
||||
v.PendingPostCount = info.PendingPostCount
|
||||
v.UploadedPostCount = info.UploadedPostCount
|
||||
v.ReleasedPostTotal = info.ReleasedPostTotal
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
zap.L().Info("MediaUserList 3")
|
||||
go func() {
|
||||
for _, v := range resp.Data {
|
||||
_ = SyncAsAuth(v.ArtistUuid)
|
||||
@ -123,14 +169,14 @@ func UpdateMediaAccount(ctx *gin.Context) {
|
||||
}
|
||||
if userResp != nil && len(userResp.Data) > 0 {
|
||||
for _, v := range userResp.Data {
|
||||
if v.PlatformID == uint32(req.PlatformID) {
|
||||
if v.PlatformID == uint32(req.PlatformID) && v.Expired == 1 {
|
||||
service.Error(ctx, errors.New("账号已存在"))
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
// 字符串转整型
|
||||
artistID, err := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
infoResp, err = GetArtistAccountInfo(artistID)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
@ -140,8 +186,6 @@ func UpdateMediaAccount(ctx *gin.Context) {
|
||||
service.Error(ctx, errors.New("用户不存在"))
|
||||
return
|
||||
}
|
||||
|
||||
//TODO 判断是否注册ay
|
||||
if err = CheckAsProfile(infoResp); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
@ -149,13 +193,14 @@ func UpdateMediaAccount(ctx *gin.Context) {
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
req.ArtistSubNum = infoResp.SubNum
|
||||
if _, ok := cast.PlatformIDENUM_name[int32(req.PlatformID)]; !ok {
|
||||
service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams)))
|
||||
return
|
||||
}
|
||||
userID, _ := strconv.ParseInt(req.ArtistUuid, 10, 64)
|
||||
if req.MediaAccountUuid == "" {
|
||||
if err = CheckUserBundleBalance(int32(userID), modelCast.BalanceTypeAccountValue); err != nil {
|
||||
if _, err = CheckUserBundleBalance(int32(userID), modelCast.BalanceTypeAccountValue); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
@ -213,6 +258,10 @@ func OAuthAccount(ctx *gin.Context) {
|
||||
service.Error(ctx, errors.New("未找到该账号"))
|
||||
return
|
||||
}
|
||||
if mediaResp.Data[0].Expired != 1 {
|
||||
service.Error(ctx, errors.New("账号已过期"))
|
||||
return
|
||||
}
|
||||
if err = SyncAsAuth(mediaResp.Data[0].ArtistUuid); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
@ -280,6 +329,7 @@ func OAuth2Callback(ctx *gin.Context) {
|
||||
service.Error(ctx, errors.New(e.GetMsg(e.InvalidParams)))
|
||||
return
|
||||
}
|
||||
req.State = state
|
||||
zap.L().Info("OAuth2Callback", zap.Any("req", req), zap.Any("code", code), zap.Any("state", state))
|
||||
_, err := service.CastProvider.OAuthCodeToToken(ctx, req)
|
||||
if err != nil {
|
||||
@ -325,6 +375,7 @@ func AsOAuth2Callback(ctx *gin.Context) {
|
||||
func SyncAsAuth(artistUuid string) error {
|
||||
resp, err := service.CastProvider.GetArtist(context.Background(), &cast.GetArtistReq{ArtistUuid: artistUuid})
|
||||
if err != nil {
|
||||
zap.L().Error("SyncAsAuth error", zap.Error(err))
|
||||
return errors.New("获取艺人信息错误")
|
||||
}
|
||||
if resp == nil || resp.ArtistInfo == nil || resp.ArtistInfo.ProfileKey == "" {
|
||||
@ -335,10 +386,10 @@ func SyncAsAuth(artistUuid string) error {
|
||||
InstagramDetails: true,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("SyncAsAuth error", zap.Error(err))
|
||||
return errors.New("获取艺人绑定信息错误")
|
||||
}
|
||||
var authReq *cast.UpdateOAuthReq
|
||||
authReq = &cast.UpdateOAuthReq{Data: make([]*cast.UpdateOAuthReq_Info, 0)}
|
||||
authReq := &cast.UpdateOAuthReq{Data: make([]*cast.UpdateOAuthReq_Info, 0)}
|
||||
if len(userResp.DisplayNames) == 0 {
|
||||
//return errors.New("没有授权信息")
|
||||
authReq.Data = append(authReq.Data, &cast.UpdateOAuthReq_Info{
|
||||
@ -362,10 +413,14 @@ func SyncAsAuth(artistUuid string) error {
|
||||
if platformIDENUM == cast.PlatformIDENUM_UNKNOWN {
|
||||
continue
|
||||
}
|
||||
asID := v.Id
|
||||
if platformIDENUM == cast.PlatformIDENUM_BULESKY && asID == "" {
|
||||
asID = v.Username
|
||||
}
|
||||
authReq.Data = append(authReq.Data, &cast.UpdateOAuthReq_Info{
|
||||
ArtistUuid: artistUuid,
|
||||
PlatformID: platformIDENUM,
|
||||
AsID: v.Id,
|
||||
AsID: asID,
|
||||
PlatformUserName: v.Username,
|
||||
AutInfo: string(asInfoB),
|
||||
})
|
||||
@ -487,3 +542,233 @@ func SyncAsProfile(ctx *gin.Context) {
|
||||
service.Success(ctx, infoResp)
|
||||
return
|
||||
}
|
||||
|
||||
// ImportMediaAccount 导入自媒体账号
|
||||
func ImportMediaAccount(ctx *gin.Context) {
|
||||
excelFile, err := ctx.FormFile("file")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
tempDir := "./runtime/media"
|
||||
_, err = utils.CheckDirPath(tempDir, true)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
fileName := fmt.Sprintf("%d_media_account.xlsx", time.Now().UnixMicro())
|
||||
excelPath := filepath.Join(tempDir, fileName)
|
||||
if err = ctx.SaveUploadedFile(excelFile, excelPath); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// Linux系统下需要显式设置文件权限
|
||||
if err = os.Chmod(excelPath, 0666); err != nil {
|
||||
zap.L().Warn("设置文件权限失败", zap.Error(err))
|
||||
}
|
||||
excelData, err := excelize.OpenFile(excelPath)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
defer excelData.Close()
|
||||
rows, err := excelData.GetRows("Sheet1")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
loginInfo := login.GetUserInfoFromC(ctx)
|
||||
for line, row := range rows {
|
||||
if line == 0 {
|
||||
continue
|
||||
}
|
||||
if len(row) < 3 {
|
||||
continue
|
||||
}
|
||||
subNum := strings.TrimSpace(row[1])
|
||||
if subNum == "" {
|
||||
continue
|
||||
}
|
||||
var subInfoResp *accountFiee.UserInfoResponse
|
||||
//查询艺人信息
|
||||
//if config.AppConfig.System.AppMode == "dev" {
|
||||
//subInfoResp = &accountFiee.UserInfoResponse{
|
||||
// Id: 1245,
|
||||
// SubNum: "FL00023",
|
||||
// Status: 0,
|
||||
// Name: "测试远",
|
||||
// TelNum: "1826145872",
|
||||
// TelAreaCode: "86",
|
||||
//}
|
||||
//} else {
|
||||
subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
|
||||
SubNum: subNum,
|
||||
Domain: "app",
|
||||
})
|
||||
//}
|
||||
if err != nil {
|
||||
zap.L().Error("查询艺人出错", zap.Error(err))
|
||||
excelSetRemark(excelData, line, "查询艺人出错")
|
||||
continue
|
||||
}
|
||||
zap.L().Info("查询艺人成功", zap.Any("subInfoResp", subInfoResp))
|
||||
if subInfoResp.Id == 0 {
|
||||
excelSetRemark(excelData, line, "艺人不存在")
|
||||
continue
|
||||
}
|
||||
var tiktokName, insName, dmName, youtubeName, blueskyName string
|
||||
if len(row) >= 3 {
|
||||
tiktokName = strings.TrimSpace(row[2])
|
||||
}
|
||||
if len(row) >= 4 {
|
||||
insName = strings.TrimSpace(row[3])
|
||||
}
|
||||
if len(row) >= 5 {
|
||||
dmName = strings.TrimSpace(row[4])
|
||||
}
|
||||
if len(row) >= 6 {
|
||||
youtubeName = strings.TrimSpace(row[5])
|
||||
}
|
||||
if len(row) >= 7 {
|
||||
blueskyName = strings.TrimSpace(row[6])
|
||||
}
|
||||
if tiktokName == "" && insName == "" && dmName == "" && youtubeName == "" && blueskyName == "" {
|
||||
excelSetRemark(excelData, line, "请填写账号")
|
||||
continue
|
||||
}
|
||||
if tiktokName != "" {
|
||||
if err = updateMediaAccount(tiktokName, cast.PlatformIDENUM_TIKTOK, subInfoResp, loginInfo); err != nil {
|
||||
excelSetRemark(excelData, line, fmt.Sprintf("%s:%s", tiktokName, err.Error()))
|
||||
}
|
||||
}
|
||||
if insName != "" {
|
||||
if err = updateMediaAccount(insName, cast.PlatformIDENUM_INS, subInfoResp, loginInfo); err != nil {
|
||||
excelSetRemark(excelData, line, fmt.Sprintf("%s:%s", insName, err.Error()))
|
||||
}
|
||||
}
|
||||
if dmName != "" {
|
||||
if err = updateMediaAccount(dmName, cast.PlatformIDENUM_DM, subInfoResp, loginInfo); err != nil {
|
||||
excelSetRemark(excelData, line, fmt.Sprintf("%s:%s", dmName, err.Error()))
|
||||
}
|
||||
}
|
||||
if youtubeName != "" {
|
||||
if err = updateMediaAccount(youtubeName, cast.PlatformIDENUM_YOUTUBE, subInfoResp, loginInfo); err != nil {
|
||||
excelSetRemark(excelData, line, fmt.Sprintf("%s:%s", youtubeName, err.Error()))
|
||||
}
|
||||
}
|
||||
if blueskyName != "" {
|
||||
if err = updateMediaAccount(blueskyName, cast.PlatformIDENUM_BULESKY, subInfoResp, loginInfo); err != nil {
|
||||
excelSetRemark(excelData, line, fmt.Sprintf("%s:%s", blueskyName, err.Error()))
|
||||
}
|
||||
}
|
||||
_ = CheckAsProfile(subInfoResp)
|
||||
}
|
||||
// 保存Excel文件到磁盘
|
||||
resultPath := fmt.Sprintf("./runtime/media/%s", fileName)
|
||||
if err = excelData.SaveAs(resultPath); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// Linux系统下需要显式设置文件权限
|
||||
if err = os.Chmod(resultPath, 0666); err != nil {
|
||||
zap.L().Warn("设置文件权限失败", zap.Error(err))
|
||||
}
|
||||
|
||||
// 打开文件 遍历一下 F列没有数据success + 1 并且删掉,有值的fail+1 留着
|
||||
var successCount, failCount int
|
||||
rows, err = excelData.GetRows("Sheet1")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 记录需要删除的行(从后往前删除,避免行号变化)
|
||||
rowsToDelete := make([]int, 0)
|
||||
for line := 1; line < len(rows); line++ { // 从第2行开始(跳过表头)
|
||||
remarkCell := fmt.Sprintf("H%d", line+1) // 备注列已移动到H列
|
||||
remark, _ := excelData.GetCellValue("Sheet1", remarkCell)
|
||||
if remark == "" {
|
||||
// H列没有数据,表示成功
|
||||
successCount++
|
||||
rowsToDelete = append(rowsToDelete, line+1)
|
||||
} else {
|
||||
// H列有值,表示失败
|
||||
failCount++
|
||||
}
|
||||
}
|
||||
|
||||
// 从后往前删除成功的行
|
||||
for i := len(rowsToDelete) - 1; i >= 0; i-- {
|
||||
if err = excelData.RemoveRow("Sheet1", rowsToDelete[i]); err != nil {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
// 再次保存文件
|
||||
if err = excelData.SaveAs(resultPath); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// Linux系统下需要显式设置文件权限
|
||||
if err = os.Chmod(resultPath, 0666); err != nil {
|
||||
zap.L().Warn("设置文件权限失败", zap.Error(err))
|
||||
}
|
||||
|
||||
urlHost := config.AppConfig.System.FieeHost
|
||||
urlResult := fmt.Sprintf("%s/api/fiee/static/media/%s", urlHost, fileName)
|
||||
service.Success(ctx, map[string]interface{}{
|
||||
"successCount": successCount,
|
||||
"failCount": failCount,
|
||||
"url": urlResult,
|
||||
})
|
||||
}
|
||||
|
||||
func excelSetRemark(excelData *excelize.File, line int, remark string) {
|
||||
zap.L().Info("设置备注", zap.Int("line", line), zap.String("remark", remark))
|
||||
oldRemark, _ := excelData.GetCellValue("Sheet1", fmt.Sprintf("%s%d", "H", line+1))
|
||||
if oldRemark != "" {
|
||||
remark = fmt.Sprintf("%s\n;%s", oldRemark, remark)
|
||||
}
|
||||
excelData.SetCellValue("Sheet1", fmt.Sprintf("%s%d", "H", line+1), remark)
|
||||
}
|
||||
|
||||
func updateMediaAccount(platformName string, platformId cast.PlatformIDENUM, subInfoResp *accountFiee.UserInfoResponse, loginInfo login.Info) error {
|
||||
var err error
|
||||
//if config.AppConfig.System.AppMode != "dev" {
|
||||
if _, err = CheckUserBundleBalance(int32(subInfoResp.Id), modelCast.BalanceTypeAccountValue); err != nil {
|
||||
zap.L().Error("CheckUserBundleBalance err", zap.Error(err), zap.Any("platformName", platformName))
|
||||
return err
|
||||
}
|
||||
_, err = service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
||||
UserId: int32(subInfoResp.Id),
|
||||
AccountConsumptionNumber: 1,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("AddBundleBalance err", zap.Error(err), zap.Any("platformName", platformName))
|
||||
return err
|
||||
}
|
||||
//}
|
||||
_, err = service.CastProvider.UpdateMediaAccount(context.Background(), &cast.UpdateMediaAccountReq{
|
||||
PlatformID: platformId,
|
||||
PlatformUserName: platformName,
|
||||
PlatformUserID: "",
|
||||
ArtistUuid: fmt.Sprint(subInfoResp.Id),
|
||||
ArtistName: subInfoResp.Name,
|
||||
ArtistPhone: subInfoResp.TelNum,
|
||||
MediaAccountUuid: "",
|
||||
ManagerUuid: fmt.Sprint(loginInfo.ID),
|
||||
ManagerUserName: loginInfo.Name,
|
||||
ArtistSubNum: subInfoResp.SubNum,
|
||||
})
|
||||
//if config.AppConfig.System.AppMode != "dev" {
|
||||
if err != nil {
|
||||
zap.L().Error("UpdateMediaAccount err", zap.Error(err), zap.Any("platformName", platformName))
|
||||
_, _err := service.BundleProvider.AddBundleBalance(context.Background(), &bundle.AddBundleBalanceReq{
|
||||
UserId: int32(subInfoResp.Id),
|
||||
AccountConsumptionNumber: -1,
|
||||
})
|
||||
zap.L().Error("AddBundleBalance err", zap.Error(_err), zap.Any("platformName", platformName))
|
||||
}
|
||||
//}
|
||||
return err
|
||||
}
|
||||
|
||||
440
pkg/service/cast/tag.go
Normal file
440
pkg/service/cast/tag.go
Normal file
@ -0,0 +1,440 @@
|
||||
package cast
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/aryshare"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"math/rand"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"go.uber.org/zap"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
// UpdateCastTag 更新话题标签
|
||||
func UpdateCastTag(ctx *gin.Context) {
|
||||
var req *cast.UpdateCastTagReq
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
resp, err := service.CastProvider.UpdateCastTag(newCtx, req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// ListCastTags 获取话题标签列表
|
||||
func ListCastTags(ctx *gin.Context) {
|
||||
var req *cast.ListCastTagsReq
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
resp, err := service.CastProvider.ListCastTags(newCtx, req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// ImportTagBatch 批量导入话题标签
|
||||
func ImportTagBatch(ctx *gin.Context) {
|
||||
// 接收form表单的Excel保存到本地进行解析
|
||||
excelFile, err := ctx.FormFile("file")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
tempDir := "./runtime/tag"
|
||||
_, err = utils.CheckDirPath(tempDir, true)
|
||||
fileName := time.Now().Format("20060102150405") + "_in_tag.xlsx"
|
||||
excelPath := filepath.Join(tempDir, fileName)
|
||||
if err = ctx.SaveUploadedFile(excelFile, excelPath); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// 读取Excel中的数据
|
||||
excelData, err := excelize.OpenFile(excelPath)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
defer excelData.Close()
|
||||
// 解析Excel中的数据
|
||||
rows, err := excelData.GetRows("Sheet1")
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
req := cast.UpdateCastTagBatchReq{
|
||||
Data: make([]*cast.CastTagInfo, 0),
|
||||
}
|
||||
userInfo := login.GetUserInfoFromC(ctx)
|
||||
for line, row := range rows {
|
||||
if line == 0 {
|
||||
continue
|
||||
}
|
||||
temp := cast.CastTagInfo{
|
||||
CreatorUuid: fmt.Sprint(userInfo.ID),
|
||||
CreatorName: userInfo.Name,
|
||||
Source: 1, // 固定来源:人工导入
|
||||
Status: 1, // 固定状态:有效
|
||||
}
|
||||
// 解析Excel列:A-话题标签,B-备注
|
||||
if len(row) > 0 {
|
||||
temp.HashTag = strings.TrimSpace(row[0])
|
||||
}
|
||||
if len(row) > 1 {
|
||||
temp.Remark = strings.TrimSpace(row[1])
|
||||
}
|
||||
zap.L().Info("ImportTagBatch row", zap.Int("line", line), zap.Strings("row", row))
|
||||
// 验证必填字段:话题标签不能为空
|
||||
if utils.CleanString(temp.HashTag) == "" {
|
||||
temp.Remark = "必填项未填"
|
||||
req.Data = append(req.Data, &temp)
|
||||
continue
|
||||
}
|
||||
req.Data = append(req.Data, &temp)
|
||||
}
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
resp, _err := service.CastProvider.UpdateCastTagBatch(newCtx, &req)
|
||||
if _err != nil {
|
||||
service.Error(ctx, _err)
|
||||
return
|
||||
}
|
||||
// 打开模板 写入resp 返回的数据
|
||||
templatePath := "./data/话题标签导入模板.xlsx"
|
||||
template, err := excelize.OpenFile(templatePath)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
defer template.Close()
|
||||
var urlResult string
|
||||
if resp.FailCount != 0 {
|
||||
rowIndex := 2 // 从第2行开始写入(第1行是表头)
|
||||
for _, v := range resp.Data {
|
||||
if v.Success {
|
||||
continue
|
||||
}
|
||||
// 写入失败的数据到Excel模板(只写入话题标签和备注两列)
|
||||
template.SetCellValue("Sheet1", fmt.Sprintf("A%d", rowIndex), v.HashTag)
|
||||
template.SetCellValue("Sheet1", fmt.Sprintf("B%d", rowIndex), v.Remark)
|
||||
rowIndex++
|
||||
}
|
||||
resultFilename := strings.Replace(fileName, "_in_tag.xlsx", "_out_tag.xlsx", -1)
|
||||
resultPath := fmt.Sprintf("./runtime/tag/%s", resultFilename)
|
||||
if err = template.SaveAs(resultPath); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
urlHost := config.AppConfig.System.FieeHost
|
||||
urlResult = fmt.Sprintf("%s/api/fiee/static/tag/%s", urlHost, resultFilename)
|
||||
}
|
||||
|
||||
service.Success(ctx, map[string]interface{}{
|
||||
"successCount": resp.SuccessCount,
|
||||
"failCount": resp.FailCount,
|
||||
"resultUrl": urlResult,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// RecalculateCastTagQuoteCount 重新计算话题标签引用数量
|
||||
func RecalculateCastTagQuoteCount(ctx *gin.Context) {
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
// 创建空的请求对象
|
||||
req := &emptypb.Empty{}
|
||||
resp, err := service.CastProvider.RecalculateCastTagQuoteCount(newCtx, req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// findNewTags 对比两次标签,找出新增的标签
|
||||
func findNewTags(beforeTags, afterTags []string) []string {
|
||||
// 将 beforeTags 转换为 map,方便查找
|
||||
beforeMap := make(map[string]bool)
|
||||
for _, tag := range beforeTags {
|
||||
cleanTag := strings.TrimSpace(tag)
|
||||
if cleanTag != "" {
|
||||
beforeMap[cleanTag] = true
|
||||
}
|
||||
}
|
||||
|
||||
// 找出 afterTags 中不在 beforeTags 中的标签
|
||||
newTags := make([]string, 0)
|
||||
for _, tag := range afterTags {
|
||||
cleanTag := strings.TrimSpace(tag)
|
||||
if cleanTag != "" && !beforeMap[cleanTag] {
|
||||
newTags = append(newTags, cleanTag)
|
||||
}
|
||||
}
|
||||
|
||||
return newTags
|
||||
}
|
||||
|
||||
func GetValidProfileKey(ctx context.Context, platformIDs []uint32) (string, error) {
|
||||
if len(platformIDs) == 0 {
|
||||
platformIDs = []uint32{1, 2, 3, 5}
|
||||
}
|
||||
profileKeys, err := service.CastProvider.GetArtistAyrShareInfoByPlatformIDs(ctx, &cast.GetArtistAyrShareInfoByPlatformIDsReq{
|
||||
PlatformIDs: platformIDs,
|
||||
Page: 1,
|
||||
PageSize: 20,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("GetArtistAyrShareInfoByPlatformIDs failed", zap.Error(err))
|
||||
return "", errors.New("获取有效profileKey失败")
|
||||
}
|
||||
if len(profileKeys.Data) == 0 {
|
||||
return "", errors.New("当前没有有效的profileKey")
|
||||
}
|
||||
|
||||
// 过滤出所有非空的 profileKey
|
||||
validProfileKeys := make([]string, 0)
|
||||
for _, item := range profileKeys.Data {
|
||||
if item.ProfileKey != "" {
|
||||
validProfileKeys = append(validProfileKeys, item.ProfileKey)
|
||||
}
|
||||
}
|
||||
|
||||
if len(validProfileKeys) == 0 {
|
||||
return "", errors.New("profileKey为空")
|
||||
}
|
||||
|
||||
// 从有效的 profileKey 中随机选择一个
|
||||
randIndex := rand.Intn(len(validProfileKeys))
|
||||
return validProfileKeys[randIndex], nil
|
||||
}
|
||||
|
||||
// SaveTagsToDatabase 将标签保存到数据库
|
||||
func SaveTagsToDatabase(ctx *gin.Context, tags []string, source uint32) error {
|
||||
if len(tags) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
userInfo := login.GetUserInfoFromC(ctx)
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
|
||||
// 构建批量导入请求
|
||||
req := cast.UpdateCastTagBatchReq{
|
||||
Data: make([]*cast.CastTagInfo, 0, len(tags)),
|
||||
}
|
||||
|
||||
for _, tag := range tags {
|
||||
tagInfo := &cast.CastTagInfo{
|
||||
HashTag: tag,
|
||||
CreatorUuid: fmt.Sprint(userInfo.ID),
|
||||
CreatorName: userInfo.Name,
|
||||
Source: source, // 4: 自动标签(从内容中自动提取)
|
||||
Status: 1, // 1: 有效
|
||||
}
|
||||
req.Data = append(req.Data, tagInfo)
|
||||
}
|
||||
|
||||
// 调用批量导入接口
|
||||
_, err := service.CastProvider.UpdateCastTagBatch(newCtx, &req)
|
||||
if err != nil {
|
||||
err = errors.New("标签保存到数据库失败")
|
||||
zap.L().Error("SaveTagsToDatabase UpdateCastTagBatch failed", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
zap.L().Info("SaveTagsToDatabase success", zap.Int("tagCount", len(tags)), zap.Strings("tags", tags), zap.Uint32("source", source))
|
||||
return nil
|
||||
}
|
||||
|
||||
func GenerateAutoHashtags(ctx context.Context, post string, max int32, position, language string) (*aryshare.AutoHashtagsResponse, []string, bool, error) {
|
||||
// 验证帖子内容
|
||||
if post == "" {
|
||||
return nil, nil, false, errors.New("帖子内容不能为空")
|
||||
}
|
||||
// post 的长度不能超过1000个字符
|
||||
if len(post) > 1000 {
|
||||
return nil, nil, false, errors.New("自动生成标签的帖子内容不能超过1000个字符")
|
||||
}
|
||||
|
||||
// 提取生成前的标签
|
||||
beforeTags := utils.ExtractTags(post)
|
||||
zap.L().Info("GenerateAutoHashtags beforeTags", zap.Strings("beforeTags", beforeTags))
|
||||
|
||||
// 如果标签数量已经达到或超过5个,不需要生成
|
||||
if len(beforeTags) >= 5 {
|
||||
return nil, nil, false, nil
|
||||
}
|
||||
|
||||
// 设置默认值
|
||||
if position == "" {
|
||||
position = "end"
|
||||
}
|
||||
if language == "" {
|
||||
language = "zh"
|
||||
}
|
||||
|
||||
// 如果 max 为0,则根据现有标签数自动计算,确保总数为5
|
||||
if max == 0 {
|
||||
max = int32(5 - len(beforeTags))
|
||||
}
|
||||
|
||||
// 如果此时 max 小于等于0,则直接返回
|
||||
if max <= 0 {
|
||||
return nil, nil, false, nil
|
||||
}
|
||||
|
||||
profileKey, err := GetValidProfileKey(ctx, []uint32{1, 2, 3, 5})
|
||||
if err != nil {
|
||||
return nil, nil, false, err
|
||||
}
|
||||
|
||||
// 构建请求
|
||||
req := &aryshare.AutoHashtagsRequest{
|
||||
Post: post,
|
||||
Max: max,
|
||||
Position: position,
|
||||
Language: language,
|
||||
ProfileKey: profileKey,
|
||||
}
|
||||
|
||||
// 调用 Ayrshare 的 AutoHashtags 接口
|
||||
resp, err := service.AyrshareProvider.AutoHashtags(ctx, req)
|
||||
if err != nil {
|
||||
zap.L().Error("AutoHashtags failed", zap.Error(err))
|
||||
return nil, nil, false, errors.New("自动生成标签失败")
|
||||
}
|
||||
|
||||
if resp.Post == "" {
|
||||
return nil, nil, false, errors.New("自动生成标签返回的帖子内容为空")
|
||||
}
|
||||
|
||||
// 去掉自动标签返回的帖子内容多余的引号
|
||||
resp.Post = utils.CleanAutoHashtagsQuote(resp.Post)
|
||||
|
||||
// 提取生成后的标签
|
||||
afterTags := utils.ExtractTags(resp.Post)
|
||||
zap.L().Info("GenerateAutoHashtags afterTags", zap.Strings("afterTags", afterTags))
|
||||
|
||||
// 对比两次标签,找出新增的标签
|
||||
newTags := findNewTags(beforeTags, afterTags)
|
||||
|
||||
return resp, newTags, true, nil
|
||||
}
|
||||
|
||||
// AutoHashtags 自动生成标签
|
||||
func AutoHashtags(ctx *gin.Context) {
|
||||
var req *aryshare.AutoHashtagsRequest
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 调用核心逻辑生成标签
|
||||
resp, newTags, needMore, err := GenerateAutoHashtags(
|
||||
context.Background(),
|
||||
req.Post,
|
||||
req.Max,
|
||||
req.Position,
|
||||
req.Language,
|
||||
)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 如果标签已满5个,直接返回
|
||||
if !needMore {
|
||||
service.Success(ctx, map[string]interface{}{
|
||||
"message": "当前帖子的标签已经有5个了",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// 保存新增的标签到数据库,Source 设置为 4(自动标签)
|
||||
if len(newTags) > 0 {
|
||||
if err = SaveTagsToDatabase(ctx, newTags, 4); err != nil {
|
||||
zap.L().Error("SaveTagsToDatabase failed", zap.Error(err), zap.Strings("newTags", newTags))
|
||||
err = errors.New("标签保存到数据库失败")
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// RecommendHashtags 推荐标签
|
||||
func RecommendHashtags(ctx *gin.Context) {
|
||||
var req *aryshare.RecommendHashtagsRequest
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
profileKey, err := GetValidProfileKey(context.Background(), []uint32{1})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
req.ProfileKey = profileKey
|
||||
resp, err := service.AyrshareProvider.RecommendHashtags(context.Background(), req)
|
||||
if err != nil {
|
||||
fmt.Println("err", err)
|
||||
zap.L().Error("RecommendHashtags failed", zap.Error(err))
|
||||
err = errors.New("推荐标签失败")
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// SearchHashtags 搜索标签
|
||||
func SearchHashtags(ctx *gin.Context) {
|
||||
var req *aryshare.SearchHashtagsRequest
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
profileKey, err := GetValidProfileKey(context.Background(), []uint32{3})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
req.ProfileKey = profileKey
|
||||
resp, err := service.AyrshareProvider.SearchHashtags(context.Background(), req)
|
||||
if err != nil {
|
||||
fmt.Println("err", err)
|
||||
err = errors.New("获取热门话题标签失败")
|
||||
zap.L().Error("SearchHashtags failed", zap.Error(err))
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
200
pkg/service/cast/task.go
Normal file
200
pkg/service/cast/task.go
Normal file
@ -0,0 +1,200 @@
|
||||
package cast
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/service/upload"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"fonchain-fiee/api/cast"
|
||||
modelCast "fonchain-fiee/pkg/model/cast"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func TaskList(ctx *gin.Context) {
|
||||
var req *cast.ListTaskListReq
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
loginInfo := login.GetUserInfoFromC(ctx)
|
||||
req.OperatorID = fmt.Sprint(loginInfo.ID)
|
||||
resp, err := service.CastProvider.ListTaskList(context.Background(), req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func DeleteTasK(ctx *gin.Context) {
|
||||
var req *cast.DeleteTaskListReq
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
//loginInfo := login.GetUserInfoFromC(ctx)
|
||||
//req.OperatorID = fmt.Sprint(loginInfo.ID)
|
||||
resp, err := service.CastProvider.DeleteTaskList(context.Background(), req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func DownloadTaskFile(ctx *gin.Context) {
|
||||
var req *cast.GetTaskListReq
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.CastProvider.GetTaskList(context.Background(), req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if resp == nil || resp.Data == nil {
|
||||
service.Error(ctx, errors.New("没有此任务"))
|
||||
return
|
||||
}
|
||||
|
||||
var taskInfo modelCast.PublishTaskDto
|
||||
if resp.Data.ExtraData != "" {
|
||||
_ = json.Unmarshal([]byte(resp.Data.ExtraData), &taskInfo)
|
||||
}
|
||||
exportUrl, err := PublishTaskExcel(taskInfo.WorkUuids, false, resp.Data.Action)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, gin.H{
|
||||
"url": exportUrl,
|
||||
})
|
||||
}
|
||||
|
||||
func PublishTaskExcel(workUuids []string, uploadOss bool, action string) (string, error) {
|
||||
// 创建Excel文件
|
||||
f := excelize.NewFile()
|
||||
sheetName := "Sheet1"
|
||||
f.SetSheetName("Sheet1", sheetName)
|
||||
// 设置表头
|
||||
headers := []interface{}{
|
||||
"艺人编号", "艺人姓名", "内容类型", "内容标题",
|
||||
"执行结果", "TIKTOK", "YOUTUBE", "INS", "DM", "BULESKY",
|
||||
}
|
||||
sw, err := f.NewStreamWriter(sheetName)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if err = sw.SetRow("A1", headers); err != nil {
|
||||
return "", err
|
||||
}
|
||||
// 遍历所有作品,收集数据
|
||||
rowIndex := 2
|
||||
for _, workUuid := range workUuids {
|
||||
var workResp *cast.WorkDetailResp
|
||||
workResp, err = service.CastProvider.WorkDetail(context.Background(), &cast.WorkDetailReq{WorkUuid: workUuid})
|
||||
if err != nil {
|
||||
continue // 如果某个作品获取失败,跳过继续处理其他作品
|
||||
}
|
||||
// 内容类型
|
||||
contentType := ""
|
||||
if workResp.WorkCategory == 1 {
|
||||
contentType = "图文"
|
||||
} else if workResp.WorkCategory == 2 {
|
||||
contentType = "视频"
|
||||
}
|
||||
// 执行结果
|
||||
executionResult := modelCast.WorkStatusMM[int(workResp.WorkStatus)]
|
||||
tiktokStatus := ""
|
||||
youtubeStatus := ""
|
||||
insStatus := ""
|
||||
dmStatus := ""
|
||||
blueskyStatus := ""
|
||||
|
||||
// 获取平台信息和艺人姓名
|
||||
artistName := ""
|
||||
var infoResp *cast.WorkInfoResp
|
||||
infoResp, err = service.CastProvider.WorkInfo(context.Background(), &cast.WorkInfoReq{WorkUuid: workUuid})
|
||||
if err == nil && infoResp != nil {
|
||||
artistName = infoResp.ArtistName
|
||||
if infoResp.PlatformInfoData != nil {
|
||||
for _, platform := range infoResp.PlatformInfoData {
|
||||
statusText := modelCast.PlatformPublishStatusMM[platform.PublishMediaStatus]
|
||||
switch cast.PlatformIDENUM(platform.PlatformID) {
|
||||
case cast.PlatformIDENUM_TIKTOK:
|
||||
tiktokStatus = statusText
|
||||
case cast.PlatformIDENUM_YOUTUBE:
|
||||
youtubeStatus = statusText
|
||||
case cast.PlatformIDENUM_INS:
|
||||
insStatus = statusText
|
||||
case cast.PlatformIDENUM_DM:
|
||||
dmStatus = statusText
|
||||
case cast.PlatformIDENUM_BULESKY:
|
||||
blueskyStatus = statusText
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
row := []interface{}{
|
||||
workResp.ArtistSubNum,
|
||||
artistName,
|
||||
contentType,
|
||||
workResp.Title,
|
||||
executionResult,
|
||||
tiktokStatus,
|
||||
youtubeStatus,
|
||||
insStatus,
|
||||
dmStatus,
|
||||
blueskyStatus,
|
||||
}
|
||||
cell, _ := excelize.CoordinatesToCellName(1, rowIndex)
|
||||
if err = sw.SetRow(cell, row); err != nil {
|
||||
continue
|
||||
}
|
||||
rowIndex++
|
||||
}
|
||||
if err = sw.Flush(); err != nil {
|
||||
zap.L().Error("PublishTaskExcel Flush err", zap.Error(err))
|
||||
return "", errors.New("生成Excel文件失败")
|
||||
}
|
||||
tempDir := "./runtime/task"
|
||||
if _, err = os.Stat(tempDir); os.IsNotExist(err) {
|
||||
if err = os.MkdirAll(tempDir, 0755); err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
TaskActionName, ok := modelCast.TaskActionName[action]
|
||||
if !ok {
|
||||
TaskActionName = "未知任务"
|
||||
}
|
||||
filename := fmt.Sprintf("%s_%s.xlsx", TaskActionName, time.Now().Format("20060102150405"))
|
||||
filePath := tempDir + "/" + filename
|
||||
var exportUrl string = fmt.Sprintf("%s/api/fiee/static/%s", config.AppConfig.System.FieeHost, strings.Replace(filePath, "./runtime/", "", 1))
|
||||
if err = f.SaveAs(filePath); err != nil {
|
||||
zap.L().Error("PublishTaskExcel SaveAs err", zap.Error(err))
|
||||
return "", errors.New("保存Excel文件失败")
|
||||
}
|
||||
if uploadOss {
|
||||
// 上传到阿里云
|
||||
exportUrl, err = upload.PutBos(filePath, "excel", true)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
return exportUrl, nil
|
||||
}
|
||||
@ -2,11 +2,13 @@ package cast
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/aryshare"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/check"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@ -14,6 +16,17 @@ import (
|
||||
|
||||
func Test(ctx *gin.Context) {
|
||||
action := ctx.PostForm("action")
|
||||
if action == "" {
|
||||
workUuid := ctx.PostForm("workUuid")
|
||||
err := CheckImage(workUuid)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, nil)
|
||||
return
|
||||
}
|
||||
|
||||
if action == "getPost" {
|
||||
id := ctx.PostForm("id")
|
||||
profileKey := ctx.PostForm("profileKey")
|
||||
@ -68,24 +81,11 @@ func Test(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
if action == "" {
|
||||
profileKey := ctx.PostForm("profileKey")
|
||||
resp, err := service.AyrshareProvider.GetUser(context.Background(), &aryshare.GetUserRequest{
|
||||
ProfileKey: profileKey,
|
||||
InstagramDetails: true,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
if action == "getProfile" {
|
||||
//profileKey := ctx.PostForm("profileKey")
|
||||
resp, err := service.AyrshareProvider.GetProfiles(context.Background(), &aryshare.GetProfilesRequest{
|
||||
Title: "",
|
||||
RefId: "",
|
||||
RefId: "79f8d38afe5922f19bd02b21f838354ae8927d66",
|
||||
HasActiveSocialAccounts: false,
|
||||
IncludesActiveSocialAccounts: nil,
|
||||
ActionLog: nil,
|
||||
@ -119,6 +119,61 @@ func Test(ctx *gin.Context) {
|
||||
service.Success(ctx, uploadResp)
|
||||
return
|
||||
}
|
||||
if action == "syncArtist" {
|
||||
service.CastProvider.Tools(context.Background(), &cast.ToolsReq{Action: action})
|
||||
return
|
||||
}
|
||||
if action == "artistOrderInfo" {
|
||||
service.CastProvider.Tools(context.Background(), &cast.ToolsReq{Action: action})
|
||||
return
|
||||
}
|
||||
if action == "SecurityText" {
|
||||
val := ctx.PostForm("val")
|
||||
ok, err := check.SecurityFile(val)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("标题鉴定未通过"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, "ok")
|
||||
}
|
||||
|
||||
if action == "SecurityFile" {
|
||||
val := ctx.PostForm("val")
|
||||
ok, err := check.SecurityFile(val)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
service.Error(ctx, errors.New("标题鉴定未通过"))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, "ok")
|
||||
}
|
||||
if action == "SyncAsAuth" {
|
||||
artistUuid := ctx.PostForm("artistUuid")
|
||||
err := SyncAsAuth(artistUuid)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, "ok")
|
||||
}
|
||||
|
||||
if action == "RefreshWorkList" {
|
||||
resp, err := service.CastProvider.RefreshWorkList(context.Background(), &cast.RefreshWorkListReq{PublishStatus: 1})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(ctx, "unknow")
|
||||
return
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,52 +0,0 @@
|
||||
package check
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"mime/multipart"
|
||||
"time"
|
||||
|
||||
pkgSecurity "fonchain-fiee/pkg/security"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
)
|
||||
|
||||
// ImageCheckUrlValid 图片黄疸检测 true 是通过
|
||||
func ImageCheckUrlValid(imgUrl string) (bool, error) {
|
||||
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
if err != nil {
|
||||
err = errors.New("图片检测请求失败")
|
||||
return false, err
|
||||
}
|
||||
if resp.Code != 200 {
|
||||
err = errors.New("图片检测失败,错误码")
|
||||
return false, err
|
||||
}
|
||||
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
|
||||
return false, errors.New("图片检测结果异常")
|
||||
}
|
||||
riskLevel := resp.Data[0].Results[0].RiskLevel
|
||||
if *riskLevel == "none" {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
|
||||
//imageScanner, err := security.NewImageScanner(&security.Config{
|
||||
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
|
||||
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
|
||||
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
|
||||
// Region: "ap-southeast-1",
|
||||
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
|
||||
// TempAccessKeyID: "",
|
||||
// TempAccessKeySecret: "",
|
||||
// SecurityToken: "",
|
||||
//})
|
||||
//if err != nil {
|
||||
// return false, err
|
||||
//}
|
||||
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
//fmt.Println(resp)
|
||||
return false, nil
|
||||
}
|
||||
240
pkg/service/check/security.go
Normal file
240
pkg/service/check/security.go
Normal file
@ -0,0 +1,240 @@
|
||||
package check
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"mime/multipart"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
modelSecurity "fonchain-fiee/pkg/model/security"
|
||||
pkgSecurity "fonchain-fiee/pkg/security"
|
||||
|
||||
"github.com/fonchain/utils/security"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// ImageCheckUrlValid 图片黄疸检测 true 是通过
|
||||
func ImageCheckUrlValid(imgUrl string) (bool, error) {
|
||||
resp, err := pkgSecurity.ImageScanner.ScanImageByURL(imgUrl, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
if err != nil {
|
||||
err = errors.New("图片检测请求失败")
|
||||
return false, err
|
||||
}
|
||||
if resp.Code != 200 {
|
||||
err = errors.New("图片检测失败,错误码")
|
||||
return false, err
|
||||
}
|
||||
if len(resp.Data) == 0 || len(resp.Data[0].Results) == 0 {
|
||||
return false, errors.New("图片检测结果异常")
|
||||
}
|
||||
riskLevel := resp.Data[0].Results[0].RiskLevel
|
||||
if *riskLevel == "none" {
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func ImageCheckByte(file *multipart.FileHeader) (bool, error) {
|
||||
//imageScanner, err := security.NewImageScanner(&security.Config{
|
||||
// RAMAccessKeyID: "LTAI5tNBzbeEbG1yCitvHsMb",
|
||||
// RAMAccessKeySecret: "G1xAUB8G6WDVo0SLr6DJaJjNWIlpmO",
|
||||
// RAMRoleArn: "acs:ram::5828544250383902:role/content-secret",
|
||||
// Region: "ap-southeast-1",
|
||||
// Endpoint: "green-cip.ap-southeast-1.aliyuncs.com",
|
||||
// TempAccessKeyID: "",
|
||||
// TempAccessKeySecret: "",
|
||||
// SecurityToken: "",
|
||||
//})
|
||||
//if err != nil {
|
||||
// return false, err
|
||||
//}
|
||||
//resp, err := imageScanner.ScanImageByFileByte(file, fmt.Sprint(time.Now().UnixMicro()), security.BaselineCheckGlobal)
|
||||
//fmt.Println(resp)
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func SecurityFile(textVal string) (bool, error) {
|
||||
return true, nil
|
||||
if textVal == "" {
|
||||
return true, nil
|
||||
}
|
||||
var fileInfo modelSecurity.FileInfo
|
||||
fileInfo.FileName = textVal
|
||||
fileInfo.FileUrl = textVal
|
||||
//获取文件名称后缀
|
||||
extension := filepath.Ext(textVal)
|
||||
switch extension {
|
||||
case ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp":
|
||||
fileInfo.FileType = "image"
|
||||
case ".mp4", ".avi", ".mov", ".wmv", ".flv", ".mkv":
|
||||
fileInfo.FileType = "video"
|
||||
default:
|
||||
return true, nil
|
||||
}
|
||||
err := securityScan(&fileInfo)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
func SecurityText(textVal string) (bool, error) {
|
||||
return true, nil
|
||||
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
err = aliConfig.GetSTSToken()
|
||||
if err != nil {
|
||||
zap.L().Error("获取凭证失败", zap.Error(err))
|
||||
return false, errors.New("获取凭证失败")
|
||||
}
|
||||
if err = handleTextScan(aliConfig, textVal); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func securityScan(fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
//加载阿里云配置获取临时token
|
||||
aliConfig, err := pkgSecurity.GetGlobalConfig("./data/alibabacloud.env")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = aliConfig.GetSTSToken()
|
||||
if err != nil {
|
||||
zap.L().Error("获取凭证失败", zap.Error(err))
|
||||
return errors.New("获取凭证失败")
|
||||
}
|
||||
switch fileInfo.FileType {
|
||||
case "image":
|
||||
return handleImageScan(aliConfig, fileInfo)
|
||||
case "video":
|
||||
return handleVideoScan(aliConfig, fileInfo)
|
||||
default:
|
||||
return errors.New("不支持的审核类型")
|
||||
}
|
||||
}
|
||||
|
||||
func handleVideoScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
fmt.Println("\n=== 视频内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewVideoScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建视频扫描器失败: %v\n", err)
|
||||
return errors.New("创建视频扫描器失败")
|
||||
}
|
||||
|
||||
if fileInfo.FileUrl == "" {
|
||||
fmt.Println("视频不能为空")
|
||||
return errors.New("视频不能为空")
|
||||
}
|
||||
serviceType := security.VideoPostCheckByVLGlobal
|
||||
dataID := "video_" + time.Now().Format("20060102150405")
|
||||
|
||||
fmt.Println("正在扫描视频(这可能需要几分钟)...")
|
||||
result, err := scanner.ScanVideoAndWait(fileInfo.FileUrl, dataID, serviceType, 10*time.Minute)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
fileInfo.SecurityStatus = *v.Results.RiskLevel
|
||||
if v.Results.FrameResult != nil {
|
||||
frameResult := *v.Results.FrameResult
|
||||
if len(frameResult.FrameSummarys) > 0 {
|
||||
for _, summary := range frameResult.FrameSummarys {
|
||||
fileInfo.Describe = fileInfo.Describe + *summary.Description + ";"
|
||||
}
|
||||
}
|
||||
if len(frameResult.Frames) > 0 {
|
||||
for _, frame := range frameResult.Frames {
|
||||
fileInfo.ProblemTimeFrame = fileInfo.ProblemTimeFrame + strconv.FormatFloat(float64(*frame.Offset), 'f', 2, 64) + "秒;"
|
||||
}
|
||||
}
|
||||
}
|
||||
if v.Results.RiskLevel != nil {
|
||||
lv := v.Results.RiskLevel
|
||||
//if *lv == "none" {
|
||||
if *lv != "high" {
|
||||
return nil
|
||||
}
|
||||
return errors.New("图片违规")
|
||||
}
|
||||
|
||||
return errors.New("风险等级检测未成功")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleImageScan(config *security.Config, fileInfo *modelSecurity.FileInfo) (err error) {
|
||||
fmt.Println("\n=== 图片内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewImageScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建图片扫描器失败:%v", err)
|
||||
return errors.New("创建图片扫描器失败")
|
||||
}
|
||||
|
||||
if fileInfo.FileUrl == "" {
|
||||
fmt.Println("文件不能为空")
|
||||
return errors.New("文件不能为空")
|
||||
}
|
||||
|
||||
serviceType := security.PostImageCheckByVLGlobal
|
||||
|
||||
fmt.Println("正在扫描图片...")
|
||||
result, err := scanner.ScanImageByURL(fileInfo.FileUrl, "image_"+time.Now().Format("20060102150405"), serviceType)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
for _, v2 := range v.Results {
|
||||
fileInfo.SecurityStatus = *v2.RiskLevel
|
||||
if v2.RiskLevel != nil {
|
||||
lv := v2.RiskLevel
|
||||
//if *lv == "none" {
|
||||
if *lv != "high" {
|
||||
return nil
|
||||
}
|
||||
return errors.New("图片违规")
|
||||
}
|
||||
return errors.New("风险等级检测未成功")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func handleTextScan(config *security.Config, textVal string) (err error) {
|
||||
fmt.Println("\n=== 图片内容安全审核 ===")
|
||||
|
||||
scanner, err := security.NewTextScanner(config)
|
||||
if err != nil {
|
||||
fmt.Printf("创建扫描器失败:%v", err)
|
||||
return errors.New("创建扫描器失败")
|
||||
}
|
||||
|
||||
serviceType := security.TextBaselineCheckGlobal
|
||||
|
||||
fmt.Println("正在扫描图片...")
|
||||
result, err := scanner.ScanText(textVal, "image_"+time.Now().Format("20060102150405"), serviceType)
|
||||
if err != nil {
|
||||
fmt.Printf("扫描失败: %v\n", err)
|
||||
return errors.New("扫描失败")
|
||||
}
|
||||
scanner.PrintResult(result)
|
||||
for _, v := range result.Data {
|
||||
for _, vv := range v.Results {
|
||||
label := *vv.Label
|
||||
if label != "nonLabel" {
|
||||
return errors.New("风险等级过高")
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Println(result)
|
||||
return nil
|
||||
}
|
||||
386
pkg/service/cron/cron.go
Normal file
386
pkg/service/cron/cron.go
Normal file
@ -0,0 +1,386 @@
|
||||
package cron
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
account "fonchain-fiee/api/accountFiee"
|
||||
"fonchain-fiee/api/cron"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/utils"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
)
|
||||
|
||||
func CreateScheduleTask(c *gin.Context) {
|
||||
var req cron.CreateScheduleTaskRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.CreateScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
func UpdateScheduleTask(c *gin.Context) {
|
||||
var req cron.UpdateScheduleTaskRequest
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.UpdateScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func GetListScheduleTask(c *gin.Context) {
|
||||
var req cron.GetListScheduleTaskRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.GetListScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func GetListExecutionRecord(c *gin.Context) {
|
||||
var req cron.GetListExecutionRecordRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.GetListExecutionRecord(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
func GetListExecutionResult(c *gin.Context) {
|
||||
var req cron.GetListExecutionResultRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.GetListExecutionResult(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
func ExportExcelExecutionResult(c *gin.Context) {
|
||||
var req cron.GetListExecutionResultRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.GetListExecutionResult(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
userListRes, err := service.AccountFieeProvider.UserList(context.Background(), &account.UserListRequest{
|
||||
Domain: "app",
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("用户查询失败"))
|
||||
return
|
||||
}
|
||||
idFindSubName := make(map[uint64]string)
|
||||
for _, v := range userListRes.UserList {
|
||||
idFindSubName[v.Id] = v.SubNum
|
||||
}
|
||||
|
||||
titleList := []string{
|
||||
"任务标题", "艺人编号", "艺人姓名", "内容类型", "内容标题", "执行结果", "原因", "TIKTOK", "YOUTUBE", "INS", "DM", "BULESKY",
|
||||
}
|
||||
var dataList []interface{}
|
||||
for _, task := range res.Data {
|
||||
data := []interface{}{
|
||||
task.TaskTitle,
|
||||
idFindSubName[uint64(task.ArtistId)],
|
||||
task.ArtistName,
|
||||
task.ContentTypeDescription,
|
||||
task.WorkTitle,
|
||||
task.ResultDescription,
|
||||
task.ResultDesc,
|
||||
task.TIKTOKStatusDesc,
|
||||
task.YOUTUBEStatusDesc,
|
||||
task.INSStatusDesc,
|
||||
task.DMStatusDesc,
|
||||
task.BULESKYStatusDesc,
|
||||
}
|
||||
dataList = append(dataList, &data)
|
||||
}
|
||||
|
||||
content, err := utils.ToExcelByType(titleList, dataList, "slice", "")
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("生成excel失败"))
|
||||
|
||||
}
|
||||
utils.ResponseXls(c, content, fmt.Sprintf("失败任务报告_%s.xlsx", time.Now().Format("20060102150405")))
|
||||
return
|
||||
}
|
||||
|
||||
func StartScheduleTask(c *gin.Context) {
|
||||
var req cron.CommonIDRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.StartScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func PauseScheduleTask(c *gin.Context) {
|
||||
var req cron.CommonIDRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.PauseScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func DeleteScheduleTask(c *gin.Context) {
|
||||
var req cron.CommonIDRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, errors.New("参数错误"))
|
||||
return
|
||||
}
|
||||
res, err := service.CronProvider.DeleteScheduleTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func GetScheduleTaskStatus(c *gin.Context) {
|
||||
res, err := service.CronProvider.GetScheduleTaskStatus(context.Background(), &emptypb.Empty{})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("网络超时,请重试"))
|
||||
return
|
||||
}
|
||||
if res.Code != 200 {
|
||||
service.Error(c, errors.New(res.Message))
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
func GetImportData(c *gin.Context) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
service.Error(c, errors.New("操作失败"))
|
||||
}
|
||||
}()
|
||||
|
||||
// 导入excel
|
||||
excelFile, err := c.FormFile("excel")
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("缺少excel文件"))
|
||||
return
|
||||
}
|
||||
|
||||
// 创建临时文件
|
||||
tempDir := "tmp"
|
||||
if err = os.MkdirAll(tempDir, 0755); err != nil {
|
||||
service.Error(c, errors.New("创建临时目录失败"))
|
||||
return
|
||||
}
|
||||
defer os.RemoveAll(tempDir)
|
||||
|
||||
// 保存excel
|
||||
excelPath := filepath.Join(tempDir, "excel.xlsx")
|
||||
if err = c.SaveUploadedFile(excelFile, excelPath); err != nil {
|
||||
service.Error(c, errors.New("保存excel文件失败"))
|
||||
return
|
||||
}
|
||||
|
||||
// 读取excel
|
||||
readExcelResult, err := readExcel(excelPath)
|
||||
if err != nil {
|
||||
service.Error(c, fmt.Errorf("读取excel失败: %v", err))
|
||||
return
|
||||
}
|
||||
if len(readExcelResult) == 0 {
|
||||
service.Error(c, errors.New("请检查excel文件"))
|
||||
return
|
||||
}
|
||||
//去重操作
|
||||
set := make(map[string]struct{})
|
||||
var uniqueExcelData []excelData
|
||||
for _, data := range readExcelResult {
|
||||
if _, exists := set[data.SubName]; !exists {
|
||||
set[data.SubName] = struct{}{}
|
||||
uniqueExcelData = append(uniqueExcelData, data)
|
||||
}
|
||||
}
|
||||
res, err := service.AccountFieeProvider.UserList(context.Background(), &account.UserListRequest{
|
||||
Domain: "app",
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, errors.New("用户查询失败"))
|
||||
return
|
||||
}
|
||||
//检查subname是否正确是否存在
|
||||
subNames := make(map[string]struct{}, len(res.UserList))
|
||||
for _, v := range res.UserList {
|
||||
subNames[v.SubNum] = struct{}{}
|
||||
}
|
||||
for _, v := range uniqueExcelData {
|
||||
if _, ok := subNames[v.SubName]; !ok {
|
||||
service.Error(c, errors.New(fmt.Sprintf("第 %d 行数据错误,请检查数据!", v.Line)))
|
||||
return
|
||||
}
|
||||
}
|
||||
//检查subname和name是否匹配
|
||||
subNameFindExcelData := make(map[string]excelData, len(uniqueExcelData))
|
||||
for _, v := range uniqueExcelData {
|
||||
subNameFindExcelData[v.SubName] = v
|
||||
}
|
||||
subNameFindID := make(map[string]uint64, len(uniqueExcelData))
|
||||
result := make([]excelDataResult, 0, len(uniqueExcelData))
|
||||
for _, v := range res.UserList {
|
||||
subNameFindID[v.SubNum] = v.Id
|
||||
if subNameFindExcelData[v.SubNum].Name != v.Name && subNameFindExcelData[v.SubNum].Name != "" {
|
||||
fmt.Println(subNameFindExcelData[v.SubNum], v.Name)
|
||||
service.Error(c, errors.New(fmt.Sprintf("第 %d 行数据错误,请检查数据!", subNameFindExcelData[v.SubNum].Line)))
|
||||
return
|
||||
}
|
||||
}
|
||||
for _, v := range uniqueExcelData {
|
||||
result = append(result, excelDataResult{
|
||||
Id: subNameFindID[v.SubName],
|
||||
Name: v.Name,
|
||||
})
|
||||
}
|
||||
service.Success(c, result)
|
||||
return
|
||||
}
|
||||
|
||||
type excelData struct {
|
||||
Line uint `json:"line"`
|
||||
SubName string `json:"subName"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type excelDataResult struct {
|
||||
Id uint64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
func readExcel(excelPath string) ([]excelData, error) {
|
||||
//打开excel
|
||||
f, err := excelize.OpenFile(excelPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
//读取第一页
|
||||
sheetName := f.GetSheetName(0)
|
||||
if sheetName == "" {
|
||||
return nil, errors.New("excel文件中没有工作表")
|
||||
}
|
||||
|
||||
//读取数据
|
||||
rows, err := f.GetRows(sheetName)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("读取工作表失败: %v", err)
|
||||
}
|
||||
|
||||
if len(rows) <= 1 {
|
||||
return nil, errors.New("excel文件没有数据行(只有表头或为空)")
|
||||
}
|
||||
var result []excelData
|
||||
for i := 1; i < len(rows); i++ { // 从第2行开始(跳过表头)
|
||||
row := rows[i]
|
||||
if len(row) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
subName := getCellValue(f, sheetName, i, 0)
|
||||
name := getCellValue(f, sheetName, i, 1)
|
||||
data := excelData{
|
||||
Line: uint(i + 1),
|
||||
SubName: subName,
|
||||
Name: name,
|
||||
}
|
||||
result = append(result, data)
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
func getCellValue(f *excelize.File, sheetName string, rowIndex, colIndex int) string {
|
||||
colName, _ := excelize.ColumnNumberToName(colIndex + 1)
|
||||
cell := fmt.Sprintf("%s%d", colName, rowIndex+1)
|
||||
|
||||
value, err := f.GetCellValue(sheetName, cell)
|
||||
if err != nil {
|
||||
log.Printf("读取单元格 %s 失败: %v", cell, err)
|
||||
return ""
|
||||
}
|
||||
|
||||
return strings.TrimSpace(value)
|
||||
}
|
||||
38
pkg/service/emailAlerts/emailAlerts.go
Normal file
38
pkg/service/emailAlerts/emailAlerts.go
Normal file
@ -0,0 +1,38 @@
|
||||
package emailalerts
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fonchain-fiee/api/emailAlerts"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle/common"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func EmailAlertSubmit(ctx *gin.Context) {
|
||||
var req emailAlerts.EmailAlertsSubmitReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.EmailAlertsProvider.EmailAlertsSubmit(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.ErrorEmailAlertSubmitFailed))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func GetEmailInformationList(ctx *gin.Context) {
|
||||
var req emailAlerts.GetEmailInformationListReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.EmailAlertsProvider.GetEmailInformationList(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.ErrorGetEmailInformationListFailed))
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
@ -2,7 +2,9 @@ package file
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/files"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle/common"
|
||||
@ -14,6 +16,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
func Raw(ctx *gin.Context) {
|
||||
@ -100,6 +103,15 @@ func Create(ctx *gin.Context) {
|
||||
}
|
||||
|
||||
func Delete(ctx *gin.Context) {
|
||||
path := ctx.DefaultQuery("path", "/")
|
||||
nowYear := time.Now().Year()
|
||||
nowMonth := time.Now().Month()
|
||||
nowYearPath := fmt.Sprintf("/fiee/video/%d", nowYear)
|
||||
nowMonthPath := fmt.Sprintf("/fiee/video/%d/%d-%d", nowYear, nowYear, nowMonth)
|
||||
if path == nowYearPath || path == nowMonthPath || path == "/fiee" || path == "/fiee/video" || path == "/fiee/video/old" {
|
||||
service.Error(ctx, errors.New("无法删除该目录"))
|
||||
return
|
||||
}
|
||||
resp, err := service.FilesProvider.Delete(ctx, &files.DeleteReq{
|
||||
Path: ctx.DefaultQuery("path", "/"),
|
||||
UserSpacePath: getUserSpacePath(ctx),
|
||||
@ -282,3 +294,81 @@ func getUserSpacePath(ctx *gin.Context) string {
|
||||
|
||||
return ""
|
||||
}
|
||||
|
||||
func SecurityScan(ctx *gin.Context) {
|
||||
var req files.SecurityScanReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
go func() {
|
||||
// 使用独立的 context,避免原请求 context 被取消
|
||||
scanCtx, cancel := context.WithTimeout(context.Background(), 10*time.Minute)
|
||||
defer cancel()
|
||||
// 执行安全扫描
|
||||
|
||||
_, err := service.FilesProvider.SecurityScan(scanCtx, &req)
|
||||
if err != nil {
|
||||
// 记录错误日志
|
||||
zap.L().Error("安全扫描失败",
|
||||
zap.String("url", req.Url),
|
||||
zap.String("fileName", req.FileName),
|
||||
zap.Error(err))
|
||||
} else {
|
||||
zap.L().Info("安全扫描完成",
|
||||
zap.String("url", req.Url),
|
||||
zap.String("fileName", req.FileName))
|
||||
}
|
||||
}()
|
||||
service.Success(ctx, gin.H{
|
||||
"message": "安全扫描任务已提交,正在后台处理",
|
||||
})
|
||||
}
|
||||
|
||||
func UpdateFileSecurityStatus(ctx *gin.Context) {
|
||||
var req files.UpdateFileSecurityStatusReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.FilesProvider.UpdateFileSecurityStatus(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func ManualAnti(ctx *gin.Context) {
|
||||
var req files.ManualAntiReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
resp, err := service.FilesProvider.ManualAnti(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}()
|
||||
service.Success(ctx, gin.H{
|
||||
"message": "手动反制任务已提交,正在后台处理",
|
||||
})
|
||||
}
|
||||
|
||||
func GetFileSecurityStatus(ctx *gin.Context) {
|
||||
var req files.GetFileSecurityStatusReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.FilesProvider.GetFileSecurityStatus(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
@ -47,7 +47,12 @@ func Delete(ctx *gin.Context) {
|
||||
}
|
||||
|
||||
func Display(ctx *gin.Context) {
|
||||
resp, err := service.GovernanceProvider.Display(ctx, &governance.DisplayReq{})
|
||||
var req governance.DisplayReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.GovernanceProvider.Display(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, errors.New(common.DisplayGovernanceFailed))
|
||||
return
|
||||
@ -85,3 +90,34 @@ func Edit(ctx *gin.Context) {
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func UpdataStatus(ctx *gin.Context) {
|
||||
var req governance.UpdataStatusReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
user := login.GetUserInfoFromC(ctx)
|
||||
req.Operator = user.Name
|
||||
req.OperatorId = int32(user.ID)
|
||||
resp, err := service.GovernanceProvider.UpdataStatus(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
func GetGovernanceInfo(ctx *gin.Context) {
|
||||
var req governance.GetGovernanceInfoReq
|
||||
if err := ctx.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
resp, err := service.GovernanceProvider.GetGovernanceInfo(ctx, &req)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
}
|
||||
|
||||
@ -107,7 +107,7 @@ func ImportBind(c *gin.Context) {
|
||||
log.Printf(errors.New("查询平台信息失败:").Error())
|
||||
continue
|
||||
}
|
||||
if err = cast.CheckUserBundleBalance(int32(res.UserList[0].Id), modelCast.BalanceTypeAccountValue); err != nil {
|
||||
if _, err = cast.CheckUserBundleBalance(int32(res.UserList[0].Id), modelCast.BalanceTypeAccountValue); err != nil {
|
||||
failedRecords = append(failedRecords, FailedRecord{
|
||||
Name: artist.Name,
|
||||
Msg: fmt.Sprintf("查询检查用户账户数量失败: %s", err.Error()),
|
||||
|
||||
@ -30,6 +30,8 @@ type excelData struct {
|
||||
SubNum string //用户编号 必须字段
|
||||
TikTok string
|
||||
Instagram string
|
||||
YouTube string
|
||||
BlueSky string
|
||||
Youtube string
|
||||
Desc string //艺人简介
|
||||
TitleRequire string //标题要求 必须字段
|
||||
@ -178,27 +180,30 @@ func readExcel(excelPath string) ([]excelData, error) {
|
||||
if subNum == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有编号", i+1)
|
||||
}
|
||||
tikTok := getCellValue(f, sheetName, i, 2)
|
||||
blueSky := getCellValue(f, sheetName, i, 2)
|
||||
if blueSky == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有bluesky账号昵称", i+1)
|
||||
}
|
||||
tikTok := getCellValue(f, sheetName, i, 3)
|
||||
if tikTok == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有tiktok账号昵称", i+1)
|
||||
}
|
||||
instagram := getCellValue(f, sheetName, i, 3)
|
||||
if instagram == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有ins账号昵称", i+1)
|
||||
}
|
||||
desc := getCellValue(f, sheetName, i, 4)
|
||||
titleRequire := getCellValue(f, sheetName, i, 5)
|
||||
instagram := getCellValue(f, sheetName, i, 4)
|
||||
|
||||
desc := getCellValue(f, sheetName, i, 5)
|
||||
|
||||
titleRequire := getCellValue(f, sheetName, i, 6)
|
||||
if titleRequire == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有标题要求", i+1)
|
||||
}
|
||||
contentRequire := getCellValue(f, sheetName, i, 6)
|
||||
contentRequire := getCellValue(f, sheetName, i, 7)
|
||||
if contentRequire == "" {
|
||||
return nil, fmt.Errorf("第%d行应该有内容要求", i+1)
|
||||
}
|
||||
photoRequire := getCellValue(f, sheetName, i, 7)
|
||||
photoUrl := getCellValue(f, sheetName, i, 8)
|
||||
photoNumStr := getCellValue(f, sheetName, i, 9)
|
||||
photoDpi := getCellValue(f, sheetName, i, 10)
|
||||
photoRequire := getCellValue(f, sheetName, i, 8)
|
||||
photoUrl := getCellValue(f, sheetName, i, 9)
|
||||
photoNumStr := getCellValue(f, sheetName, i, 10)
|
||||
photoDpi := getCellValue(f, sheetName, i, 11)
|
||||
var num int
|
||||
if photoUrl == "" { //如果没有关联画作,数量必须有,需求必须有
|
||||
//需求必须有
|
||||
@ -220,6 +225,7 @@ func readExcel(excelPath string) ([]excelData, error) {
|
||||
data := excelData{
|
||||
ArtistName: artistName,
|
||||
SubNum: subNum,
|
||||
BlueSky: blueSky,
|
||||
TikTok: tikTok,
|
||||
Instagram: instagram,
|
||||
Desc: desc,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user