Compare commits
433 Commits
Author | SHA1 | Date | |
---|---|---|---|
2784ef0144 | |||
07a606c59f | |||
6090cf92d6 | |||
3ced669383 | |||
|
b88339488d | ||
|
113b5ef33d | ||
|
e527740ba3 | ||
|
18317e40f3 | ||
|
14a198ccac | ||
|
d8c3fd8392 | ||
|
94f156981c | ||
|
197750debe | ||
|
06b1c37e30 | ||
|
6a0884afe7 | ||
|
b3b4e861aa | ||
|
17a017616e | ||
|
69beb2ad08 | ||
c6bc85ecaa | |||
|
11c8d62e5e | ||
9b07b6b973 | |||
|
93abf25796 | ||
|
166fe65169 | ||
4174a69ad7 | |||
ba7a491f41 | |||
|
0cb5d6e9ef | ||
|
03a1370738 | ||
4a97727775 | |||
d54559a997 | |||
7af0704d49 | |||
e1da6bd563 | |||
|
78f8f9c927 | ||
a5df6f06bf | |||
6d34d7d4f2 | |||
|
9e77c3133a | ||
2b98fefa69 | |||
e2cf0be0cb | |||
9a9cb3b1f0 | |||
4c602f780f | |||
1ff87b20da | |||
39dbc3a9a0 | |||
6d8af40575 | |||
0a69aa8013 | |||
5f059c1d7c | |||
14956c06de | |||
a264630b2c | |||
0488918026 | |||
4616d066d8 | |||
69bbc5a090 | |||
db0c064828 | |||
6773cc62e7 | |||
454d40cfd9 | |||
935dc4bc2c | |||
2151020f1a | |||
d48b6fae1b | |||
0e458dc4e7 | |||
a8e2e4dfe2 | |||
1a9d6c0ede | |||
11592d8c90 | |||
2846cdc1b2 | |||
a68ba46e51 | |||
11bc39be1b | |||
ac7dd44fd9 | |||
b33a776f93 | |||
866cce5bb6 | |||
fe6ac1be55 | |||
2c2c9499cc | |||
b2012fbaba | |||
bc9d7fe7ba | |||
8e4a087310 | |||
e9c46e4a64 | |||
d55abc66db | |||
4177a676b9 | |||
2bc6a4f77c | |||
d8c083f5b6 | |||
0f1559f1cf | |||
d4bc9bae54 | |||
82e5f92be2 | |||
9f03ac444e | |||
dd25bb3f4e | |||
cd9cd0dbd1 | |||
eda4d7dd91 | |||
b761411203 | |||
07309ab587 | |||
852d2fbed4 | |||
b458105c4c | |||
db193ce55a | |||
a16f0b6d54 | |||
87db2d6ce3 | |||
5ae25cabc6 | |||
e4d6b5de90 | |||
afcc29ba80 | |||
df3c90476b | |||
4cc70d4b2f | |||
ada34794e3 | |||
ea89bdbe02 | |||
0a9d8f628d | |||
f26492218b | |||
8f987dff52 | |||
0545372341 | |||
ac18e084f3 | |||
b2133c6d90 | |||
749ce934e8 | |||
cd726f2987 | |||
00a9acdb9b | |||
b46400d15c | |||
2b5dd8d977 | |||
e48016fc4c | |||
953eb4b419 | |||
b4c90f4d18 | |||
f8b5df1f42 | |||
1d3f2cd0f7 | |||
cdf2af27ba | |||
c60e04454a | |||
9c97c426d6 | |||
4f0fcc77a1 | |||
5291bb489a | |||
8082f229f4 | |||
19baa34ca5 | |||
d5546933f9 | |||
80759ec111 | |||
5c92a1fef7 | |||
08a12459e6 | |||
c34cc285bb | |||
c0ff047f66 | |||
ae33bf910a | |||
df829bb4d9 | |||
96b04aa609 | |||
74f71fb0b6 | |||
9cd32ec899 | |||
18161e8528 | |||
fa898aee00 | |||
c56465dd18 | |||
2b6c2123c9 | |||
c478f4015a | |||
1334fcaa4c | |||
f1d81778d0 | |||
9bb1cbc840 | |||
139901467f | |||
851fdc5098 | |||
8c2cff4973 | |||
af9c443686 | |||
0885aa1ed0 | |||
5d8b72b499 | |||
9f7f818e79 | |||
60498f8af9 | |||
cf95f2b9fe | |||
f3882fd709 | |||
de98e69033 | |||
e03bd54b11 | |||
4c842559a7 | |||
ef57eb0e89 | |||
e994c11e29 | |||
b1a7e1f2de | |||
d1191753f3 | |||
1723ba99dd | |||
e66f33b1a9 | |||
a6c7544b91 | |||
9bb4bec9f8 | |||
0e99dc7a0b | |||
ebaeac28fb | |||
fe755bbe13 | |||
5c8a7ac056 | |||
bc795d3f20 | |||
55b6ae810d | |||
e0b15430be | |||
c4a50362f5 | |||
2455067913 | |||
24b5560c9c | |||
d2eefbb646 | |||
4afa15ee3f | |||
a093585416 | |||
9e1080659a | |||
c0148238f0 | |||
c33833b008 | |||
bacedd206f | |||
8ad6668748 | |||
ca70a92538 | |||
789c1dc81c | |||
49c9232323 | |||
98bd564928 | |||
d8a43a6720 | |||
e28cdceb50 | |||
76a0ea3c01 | |||
8cd7d57488 | |||
bfe244450b | |||
b858a599d0 | |||
345a93b149 | |||
b3900e0735 | |||
3983538606 | |||
4664da0d1c | |||
492fdfeee2 | |||
e47651247f | |||
79ec11f0de | |||
97753f0578 | |||
2b013f5269 | |||
244901bf6a | |||
9b13f753e6 | |||
50851aa303 | |||
b89b86be5d | |||
f1db70cd83 | |||
59ba69477b | |||
577e4d399c | |||
e4554dd0ad | |||
4e9091bd4b | |||
b4960fb7c2 | |||
b2e9b0c2d1 | |||
ec7be8fde0 | |||
cb707c96e1 | |||
90504c8c0c | |||
13e19d8650 | |||
64f151d87f | |||
d4eebacbda | |||
8311d0cc99 | |||
57b2e587e7 | |||
fad92b5991 | |||
086fe399e4 | |||
dc8a872e5e | |||
79a61043e9 | |||
17b8f61968 | |||
b59f4e9395 | |||
cc295e64b5 | |||
268bb183f4 | |||
96ed290f62 | |||
96db32a381 | |||
6d975266a6 | |||
dded072bad | |||
55a2197ad4 | |||
47da1435ae | |||
7c75f0722a | |||
aecacb623b | |||
0af5d7b5dc | |||
a38cc36e51 | |||
2dcdd8fb7f | |||
de557a8ac0 | |||
5a6c8591d2 | |||
7fbf4864f1 | |||
6d3ec1ac10 | |||
4e44c0ca06 | |||
cfaaf818c8 | |||
48a85b000c | |||
4c758f2045 | |||
cebf285f8e | |||
16661dfe33 | |||
24c3d1c894 | |||
653fe27066 | |||
bef76dc3f0 | |||
d0a93eb229 | |||
2d793324f1 | |||
909a44682b | |||
98b0893b0c | |||
467b126590 | |||
505216a1b3 | |||
8247a52343 | |||
7dcf40675f | |||
a5d6e45cd1 | |||
40c0a9d65f | |||
033d9ba023 | |||
fe8f3498cd | |||
35712fdbe2 | |||
248d707026 | |||
eea71f6e5a | |||
d543628d86 | |||
d93c911334 | |||
5954f86213 | |||
7747672842 | |||
1648689c02 | |||
43d3e83593 | |||
808f7cce3e | |||
f9807d039a | |||
33ce4c7123 | |||
6bbe1319b8 | |||
f3eba25a43 | |||
b3c8008b29 | |||
49137828da | |||
1988c49b82 | |||
3b6e0e6310 | |||
e0644769f5 | |||
5fd70717d4 | |||
5131c182a5 | |||
c094790cd3 | |||
01bd9736e0 | |||
98c6a72f96 | |||
aa6dca6f1f | |||
ce95cface5 | |||
13b51cadf8 | |||
63620fdda4 | |||
e23f39c6ac | |||
2276144fc4 | |||
c347c7d81d | |||
8817680689 | |||
e6920fe595 | |||
21b0c2cc49 | |||
1979ac7530 | |||
a295762f37 | |||
2151a8e42b | |||
f60f7c4a6a | |||
7e9f25fffe | |||
729c9e661c | |||
aa08c15e2a | |||
8ad73a8874 | |||
c84fb621a9 | |||
325d14d913 | |||
45a3751914 | |||
1dd8ccf3b7 | |||
2734e4572f | |||
15ddf58f55 | |||
4b9e6eb7bd | |||
549a557bf2 | |||
966790326e | |||
ef18264bf8 | |||
426b65537f | |||
0d46dd75d8 | |||
3fbc1e6ef4 | |||
3a00260038 | |||
26c0056b12 | |||
e8645e6515 | |||
a413806363 | |||
f1d411c6bc | |||
71ef73bec6 | |||
3f43441c4f | |||
c665b2190c | |||
abc498f656 | |||
5cfbfb687d | |||
0839151de0 | |||
5f1b85bbb4 | |||
64f73ca075 | |||
ec631334d6 | |||
87ebd0be56 | |||
342b49ab18 | |||
0b1c014533 | |||
2177d33587 | |||
f199ff7b3d | |||
eb5e30be88 | |||
e879989ef6 | |||
c1ba3f348a | |||
8bacafbdfe | |||
0f59144fa8 | |||
e100345bb8 | |||
f4ae80f326 | |||
25d9db05ef | |||
bc8d915944 | |||
b06f24d06e | |||
9a0a28b633 | |||
dcf041ad9d | |||
623584225d | |||
9301c78060 | |||
fe3f693925 | |||
cbded7c26a | |||
8a441851b3 | |||
d564fd2c59 | |||
1a207a8d53 | |||
380c7b95ce | |||
9f27882072 | |||
b523c46cde | |||
2b212d2903 | |||
13fc02b8ba | |||
8f137abf30 | |||
5706c238a4 | |||
75231bab91 | |||
cef7e50112 | |||
8de086333c | |||
dbe63508f7 | |||
0084f27e1b | |||
d1468434b6 | |||
4e89a5830a | |||
58b0ca77e1 | |||
4f9f8e66db | |||
8196e14159 | |||
d4e00229fa | |||
36dc2dd194 | |||
2b30a246c4 | |||
ec0ad25aec | |||
829928da9b | |||
fb4afd8441 | |||
2e46cfaacd | |||
8570541f76 | |||
4cb62a474e | |||
1b1db8e0aa | |||
e0415bb4a2 | |||
d8ef69090d | |||
ebe28dc56c | |||
fd6d763431 | |||
c22977816b | |||
126360113d | |||
3e80d15355 | |||
7ea561bb01 | |||
efdebf8949 | |||
0c7db6d312 | |||
71e504afc5 | |||
896145b718 | |||
f381ffa185 | |||
637cad4298 | |||
f1100ddfc9 | |||
952d803bf8 | |||
9718cd7c67 | |||
3fb1c12bef | |||
a1679a8a24 | |||
7edf18a252 | |||
08434eca48 | |||
860da58df4 | |||
b65f78dc12 | |||
7241ff16c9 | |||
4311ce978a | |||
da7b5edb6e | |||
2efd3f2b21 | |||
df8f611f5a | |||
30a2a9d57c | |||
b8355c0e27 | |||
080b475826 | |||
e1f4d82f31 | |||
949be8efaa | |||
5aa145bf1a | |||
329098d07b | |||
56f2a8d40b | |||
7dbef64c91 | |||
53127451c9 | |||
3e62057d29 | |||
0ff31f98d3 | |||
382f7fe980 | |||
feefda874a | |||
a725fb7d98 | |||
9289953613 | |||
1b4e4e72a9 | |||
7edf15d6a1 | |||
7eb9c9cfe7 | |||
1e9fdf8bb8 | |||
5d19fb261d | |||
69212549c5 | |||
fb60eba3e9 | |||
1fa862b85d | |||
8629decdc0 | |||
b9a6923511 | |||
289c5937c5 |
File diff suppressed because it is too large
Load Diff
@ -95,6 +95,13 @@ func (this *BundleProfile) Validate() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, item := range this.SelectValueAdditionalService {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("SelectValueAdditionalService", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, item := range this.BundleProfileLang {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
@ -105,6 +112,16 @@ func (this *BundleProfile) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *BundleProfileLang) Validate() error {
|
||||
for _, item := range this.ServiceLangInfo {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("ServiceLangInfo", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ServiceLangInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SaveResponse) Validate() error {
|
||||
@ -113,6 +130,9 @@ func (this *SaveResponse) Validate() error {
|
||||
func (this *SelectValueAddService) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *SelectValueAdditionalService) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *DelBundleRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
@ -466,3 +486,72 @@ func (this *UnfinishedInfo) Validate() error {
|
||||
func (this *SoftDeleteUnfinishedInfoRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *TaskQueryRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *TaskQueryResponse) Validate() error {
|
||||
for _, item := range this.Tasks {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Tasks", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *TaskManagementInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *TaskAssignRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdatePendingCountRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *RecentAssignRecordsRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *RecentAssignRecordsResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EmployeeTaskQueryRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *EmployeeTaskQueryResponse) Validate() error {
|
||||
for _, item := range this.Records {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Records", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *TaskAssignRecordInfo) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *CompleteTaskManuallyRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *UpdateTaskProgressRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *TaskAssignRecordsQueryRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *TaskAssignRecordsQueryResponse) Validate() error {
|
||||
for _, item := range this.Records {
|
||||
if item != nil {
|
||||
if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil {
|
||||
return github_com_mwitkow_go_proto_validators.FieldError("Records", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (this *ArtistBundleBalanceRequest) Validate() error {
|
||||
return nil
|
||||
}
|
||||
func (this *ArtistBundleBalanceResponse) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
@ -83,6 +83,16 @@ type BundleClient interface {
|
||||
// 查出没处理的数据
|
||||
ListUnfinishedInfos(ctx context.Context, in *AutoCreateUserAndOrderRequest, opts ...grpc_go.CallOption) (*UnfinishedInfos, common.ErrorWithAttachment)
|
||||
SoftDeleteUnfinishedInfo(ctx context.Context, in *SoftDeleteUnfinishedInfoRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
// 任务台
|
||||
GetPendingTaskList(ctx context.Context, in *TaskQueryRequest, opts ...grpc_go.CallOption) (*TaskQueryResponse, common.ErrorWithAttachment)
|
||||
AssignTask(ctx context.Context, in *TaskAssignRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
UpdatePendingCount(ctx context.Context, in *UpdatePendingCountRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
GetRecentAssignRecords(ctx context.Context, in *RecentAssignRecordsRequest, opts ...grpc_go.CallOption) (*RecentAssignRecordsResponse, common.ErrorWithAttachment)
|
||||
GetEmployeeAssignedTasks(ctx context.Context, in *EmployeeTaskQueryRequest, opts ...grpc_go.CallOption) (*EmployeeTaskQueryResponse, common.ErrorWithAttachment)
|
||||
CompleteTaskManually(ctx context.Context, in *CompleteTaskManuallyRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
UpdateTaskProgress(ctx context.Context, in *UpdateTaskProgressRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment)
|
||||
GetTaskAssignRecordsList(ctx context.Context, in *TaskAssignRecordsQueryRequest, opts ...grpc_go.CallOption) (*TaskAssignRecordsQueryResponse, common.ErrorWithAttachment)
|
||||
GetArtistBundleBalance(ctx context.Context, in *ArtistBundleBalanceRequest, opts ...grpc_go.CallOption) (*ArtistBundleBalanceResponse, common.ErrorWithAttachment)
|
||||
}
|
||||
|
||||
type bundleClient struct {
|
||||
@ -139,6 +149,15 @@ type BundleClientImpl struct {
|
||||
UpdateReconciliationStatusBySerialNumber func(ctx context.Context, in *UpdateStatusAndPayTimeBySerialNumber) (*CommonResponse, error)
|
||||
ListUnfinishedInfos func(ctx context.Context, in *AutoCreateUserAndOrderRequest) (*UnfinishedInfos, error)
|
||||
SoftDeleteUnfinishedInfo func(ctx context.Context, in *SoftDeleteUnfinishedInfoRequest) (*CommonResponse, error)
|
||||
GetPendingTaskList func(ctx context.Context, in *TaskQueryRequest) (*TaskQueryResponse, error)
|
||||
AssignTask func(ctx context.Context, in *TaskAssignRequest) (*CommonResponse, error)
|
||||
UpdatePendingCount func(ctx context.Context, in *UpdatePendingCountRequest) (*CommonResponse, error)
|
||||
GetRecentAssignRecords func(ctx context.Context, in *RecentAssignRecordsRequest) (*RecentAssignRecordsResponse, error)
|
||||
GetEmployeeAssignedTasks func(ctx context.Context, in *EmployeeTaskQueryRequest) (*EmployeeTaskQueryResponse, error)
|
||||
CompleteTaskManually func(ctx context.Context, in *CompleteTaskManuallyRequest) (*CommonResponse, error)
|
||||
UpdateTaskProgress func(ctx context.Context, in *UpdateTaskProgressRequest) (*CommonResponse, error)
|
||||
GetTaskAssignRecordsList func(ctx context.Context, in *TaskAssignRecordsQueryRequest) (*TaskAssignRecordsQueryResponse, error)
|
||||
GetArtistBundleBalance func(ctx context.Context, in *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error)
|
||||
}
|
||||
|
||||
func (c *BundleClientImpl) GetDubboStub(cc *triple.TripleConn) BundleClient {
|
||||
@ -447,6 +466,60 @@ func (c *bundleClient) SoftDeleteUnfinishedInfo(ctx context.Context, in *SoftDel
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SoftDeleteUnfinishedInfo", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) GetPendingTaskList(ctx context.Context, in *TaskQueryRequest, opts ...grpc_go.CallOption) (*TaskQueryResponse, common.ErrorWithAttachment) {
|
||||
out := new(TaskQueryResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPendingTaskList", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) AssignTask(ctx context.Context, in *TaskAssignRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AssignTask", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) UpdatePendingCount(ctx context.Context, in *UpdatePendingCountRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdatePendingCount", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) GetRecentAssignRecords(ctx context.Context, in *RecentAssignRecordsRequest, opts ...grpc_go.CallOption) (*RecentAssignRecordsResponse, common.ErrorWithAttachment) {
|
||||
out := new(RecentAssignRecordsResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetRecentAssignRecords", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) GetEmployeeAssignedTasks(ctx context.Context, in *EmployeeTaskQueryRequest, opts ...grpc_go.CallOption) (*EmployeeTaskQueryResponse, common.ErrorWithAttachment) {
|
||||
out := new(EmployeeTaskQueryResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetEmployeeAssignedTasks", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) CompleteTaskManually(ctx context.Context, in *CompleteTaskManuallyRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CompleteTaskManually", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) UpdateTaskProgress(ctx context.Context, in *UpdateTaskProgressRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) {
|
||||
out := new(CommonResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateTaskProgress", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) GetTaskAssignRecordsList(ctx context.Context, in *TaskAssignRecordsQueryRequest, opts ...grpc_go.CallOption) (*TaskAssignRecordsQueryResponse, common.ErrorWithAttachment) {
|
||||
out := new(TaskAssignRecordsQueryResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetTaskAssignRecordsList", in, out)
|
||||
}
|
||||
|
||||
func (c *bundleClient) GetArtistBundleBalance(ctx context.Context, in *ArtistBundleBalanceRequest, opts ...grpc_go.CallOption) (*ArtistBundleBalanceResponse, common.ErrorWithAttachment) {
|
||||
out := new(ArtistBundleBalanceResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtistBundleBalance", in, out)
|
||||
}
|
||||
|
||||
// BundleServer is the server API for Bundle service.
|
||||
// All implementations must embed UnimplementedBundleServer
|
||||
// for forward compatibility
|
||||
@ -506,6 +579,16 @@ type BundleServer interface {
|
||||
// 查出没处理的数据
|
||||
ListUnfinishedInfos(context.Context, *AutoCreateUserAndOrderRequest) (*UnfinishedInfos, error)
|
||||
SoftDeleteUnfinishedInfo(context.Context, *SoftDeleteUnfinishedInfoRequest) (*CommonResponse, error)
|
||||
// 任务台
|
||||
GetPendingTaskList(context.Context, *TaskQueryRequest) (*TaskQueryResponse, error)
|
||||
AssignTask(context.Context, *TaskAssignRequest) (*CommonResponse, error)
|
||||
UpdatePendingCount(context.Context, *UpdatePendingCountRequest) (*CommonResponse, error)
|
||||
GetRecentAssignRecords(context.Context, *RecentAssignRecordsRequest) (*RecentAssignRecordsResponse, error)
|
||||
GetEmployeeAssignedTasks(context.Context, *EmployeeTaskQueryRequest) (*EmployeeTaskQueryResponse, error)
|
||||
CompleteTaskManually(context.Context, *CompleteTaskManuallyRequest) (*CommonResponse, error)
|
||||
UpdateTaskProgress(context.Context, *UpdateTaskProgressRequest) (*CommonResponse, error)
|
||||
GetTaskAssignRecordsList(context.Context, *TaskAssignRecordsQueryRequest) (*TaskAssignRecordsQueryResponse, error)
|
||||
GetArtistBundleBalance(context.Context, *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error)
|
||||
mustEmbedUnimplementedBundleServer()
|
||||
}
|
||||
|
||||
@ -661,6 +744,33 @@ func (UnimplementedBundleServer) ListUnfinishedInfos(context.Context, *AutoCreat
|
||||
func (UnimplementedBundleServer) SoftDeleteUnfinishedInfo(context.Context, *SoftDeleteUnfinishedInfoRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method SoftDeleteUnfinishedInfo not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) GetPendingTaskList(context.Context, *TaskQueryRequest) (*TaskQueryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetPendingTaskList not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) AssignTask(context.Context, *TaskAssignRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method AssignTask not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) UpdatePendingCount(context.Context, *UpdatePendingCountRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdatePendingCount not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) GetRecentAssignRecords(context.Context, *RecentAssignRecordsRequest) (*RecentAssignRecordsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetRecentAssignRecords not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) GetEmployeeAssignedTasks(context.Context, *EmployeeTaskQueryRequest) (*EmployeeTaskQueryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetEmployeeAssignedTasks not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) CompleteTaskManually(context.Context, *CompleteTaskManuallyRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CompleteTaskManually not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) UpdateTaskProgress(context.Context, *UpdateTaskProgressRequest) (*CommonResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateTaskProgress not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) GetTaskAssignRecordsList(context.Context, *TaskAssignRecordsQueryRequest) (*TaskAssignRecordsQueryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetTaskAssignRecordsList not implemented")
|
||||
}
|
||||
func (UnimplementedBundleServer) GetArtistBundleBalance(context.Context, *ArtistBundleBalanceRequest) (*ArtistBundleBalanceResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetArtistBundleBalance not implemented")
|
||||
}
|
||||
func (s *UnimplementedBundleServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||
s.proxyImpl = impl
|
||||
}
|
||||
@ -2110,6 +2220,267 @@ func _Bundle_SoftDeleteUnfinishedInfo_Handler(srv interface{}, ctx context.Conte
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Bundle_GetPendingTaskList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(TaskQueryRequest)
|
||||
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("GetPendingTaskList", 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_AssignTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(TaskAssignRequest)
|
||||
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("AssignTask", 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_UpdatePendingCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdatePendingCountRequest)
|
||||
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("UpdatePendingCount", 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_GetRecentAssignRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(RecentAssignRecordsRequest)
|
||||
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("GetRecentAssignRecords", 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_GetEmployeeAssignedTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(EmployeeTaskQueryRequest)
|
||||
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("GetEmployeeAssignedTasks", 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_CompleteTaskManually_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CompleteTaskManuallyRequest)
|
||||
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("CompleteTaskManually", 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_UpdateTaskProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UpdateTaskProgressRequest)
|
||||
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("UpdateTaskProgress", 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_GetTaskAssignRecordsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(TaskAssignRecordsQueryRequest)
|
||||
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("GetTaskAssignRecordsList", 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_GetArtistBundleBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ArtistBundleBalanceRequest)
|
||||
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("GetArtistBundleBalance", 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)
|
||||
@ -2313,6 +2684,42 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "SoftDeleteUnfinishedInfo",
|
||||
Handler: _Bundle_SoftDeleteUnfinishedInfo_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetPendingTaskList",
|
||||
Handler: _Bundle_GetPendingTaskList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "AssignTask",
|
||||
Handler: _Bundle_AssignTask_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdatePendingCount",
|
||||
Handler: _Bundle_UpdatePendingCount_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetRecentAssignRecords",
|
||||
Handler: _Bundle_GetRecentAssignRecords_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetEmployeeAssignedTasks",
|
||||
Handler: _Bundle_GetEmployeeAssignedTasks_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "CompleteTaskManually",
|
||||
Handler: _Bundle_CompleteTaskManually_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateTaskProgress",
|
||||
Handler: _Bundle_UpdateTaskProgress_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetTaskAssignRecordsList",
|
||||
Handler: _Bundle_GetTaskAssignRecordsList_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "GetArtistBundleBalance",
|
||||
Handler: _Bundle_GetArtistBundleBalance_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc_go.StreamDesc{},
|
||||
Metadata: "pb/bundle.proto",
|
||||
|
@ -190,9 +190,9 @@ type IsSecFilingExistReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingDate string `protobuf:"bytes,1,opt,name=filingDate,proto3" json:"filingDate,omitempty"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form,omitempty"`
|
||||
FinalLink string `protobuf:"bytes,3,opt,name=finalLink,proto3" json:"finalLink,omitempty"`
|
||||
FilingDate string `protobuf:"bytes,1,opt,name=filingDate,proto3" json:"filingDate"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form"`
|
||||
FinalLink string `protobuf:"bytes,3,opt,name=finalLink,proto3" json:"finalLink"`
|
||||
}
|
||||
|
||||
func (x *IsSecFilingExistReq) Reset() {
|
||||
@ -253,7 +253,7 @@ type IsSecFilingExistResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Exist bool `protobuf:"varint,1,opt,name=exist,proto3" json:"exist,omitempty"`
|
||||
Exist bool `protobuf:"varint,1,opt,name=exist,proto3" json:"exist"`
|
||||
}
|
||||
|
||||
func (x *IsSecFilingExistResp) Reset() {
|
||||
@ -300,8 +300,8 @@ type CommonResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,2,opt,name=filingKey,json=filing_key,proto3" json:"filingKey,omitempty"`
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||
FilingKey string `protobuf:"bytes,2,opt,name=filingKey,json=filing_key,proto3" json:"filingKey"`
|
||||
}
|
||||
|
||||
func (x *CommonResp) Reset() {
|
||||
@ -355,22 +355,22 @@ type SecFiling struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Idx int32 `protobuf:"varint,1,opt,name=idx,proto3" json:"idx,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,2,opt,name=filingKey,json=filing_key,proto3" json:"filingKey,omitempty"`
|
||||
FilingDate string `protobuf:"bytes,3,opt,name=filingDate,json=filing_date,proto3" json:"filingDate,omitempty"`
|
||||
Form string `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"`
|
||||
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
|
||||
FormDescription string `protobuf:"bytes,6,opt,name=formDescription,json=form_description,proto3" json:"formDescription,omitempty"`
|
||||
FileLink string `protobuf:"bytes,7,opt,name=fileLink,json=file_link,proto3" json:"fileLink,omitempty"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,8,rep,name=dataFiles,json=data_files,proto3" json:"dataFiles,omitempty"`
|
||||
PdfFile string `protobuf:"bytes,9,opt,name=pdfFile,json=pdf_file,proto3" json:"pdfFile,omitempty"`
|
||||
WordFile string `protobuf:"bytes,10,opt,name=wordFile,json=word_file,proto3" json:"wordFile,omitempty"`
|
||||
ExcelFile string `protobuf:"bytes,11,opt,name=excelFile,json=excel_file,proto3" json:"excelFile,omitempty"`
|
||||
Status int32 `protobuf:"varint,12,opt,name=status,proto3" json:"status,omitempty"`
|
||||
Operator string `protobuf:"bytes,13,opt,name=operator,proto3" json:"operator,omitempty"`
|
||||
OperatorId int32 `protobuf:"varint,14,opt,name=operatorId,json=operator_id,proto3" json:"operatorId,omitempty"`
|
||||
CreatedAt string `protobuf:"bytes,15,opt,name=createdAt,json=created_at,proto3" json:"createdAt,omitempty"`
|
||||
UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,json=updated_at,proto3" json:"updatedAt,omitempty"`
|
||||
Idx int32 `protobuf:"varint,1,opt,name=idx,proto3" json:"idx"`
|
||||
FilingKey string `protobuf:"bytes,2,opt,name=filingKey,json=filing_key,proto3" json:"filingKey"`
|
||||
FilingDate string `protobuf:"bytes,3,opt,name=filingDate,json=filing_date,proto3" json:"filingDate"`
|
||||
Form string `protobuf:"bytes,4,opt,name=form,proto3" json:"form"`
|
||||
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description"`
|
||||
FormDescription string `protobuf:"bytes,6,opt,name=formDescription,json=form_description,proto3" json:"formDescription"`
|
||||
FileLink string `protobuf:"bytes,7,opt,name=fileLink,json=file_link,proto3" json:"fileLink"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,8,rep,name=dataFiles,json=data_files,proto3" json:"dataFiles"`
|
||||
PdfFile string `protobuf:"bytes,9,opt,name=pdfFile,json=pdf_file,proto3" json:"pdfFile"`
|
||||
WordFile string `protobuf:"bytes,10,opt,name=wordFile,json=word_file,proto3" json:"wordFile"`
|
||||
ExcelFile string `protobuf:"bytes,11,opt,name=excelFile,json=excel_file,proto3" json:"excelFile"`
|
||||
Status int32 `protobuf:"varint,12,opt,name=status,proto3" json:"status"`
|
||||
Operator string `protobuf:"bytes,13,opt,name=operator,proto3" json:"operator"`
|
||||
OperatorId int32 `protobuf:"varint,14,opt,name=operatorId,json=operator_id,proto3" json:"operatorId"`
|
||||
CreatedAt string `protobuf:"bytes,15,opt,name=createdAt,json=created_at,proto3" json:"createdAt"`
|
||||
UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,json=updated_at,proto3" json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (x *SecFiling) Reset() {
|
||||
@ -522,8 +522,8 @@ type DataFiles struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
|
||||
FileUrl string `protobuf:"bytes,2,opt,name=fileUrl,json=file_url,proto3" json:"fileUrl,omitempty"`
|
||||
Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description"`
|
||||
FileUrl string `protobuf:"bytes,2,opt,name=fileUrl,json=file_url,proto3" json:"fileUrl"`
|
||||
}
|
||||
|
||||
func (x *DataFiles) Reset() {
|
||||
@ -577,17 +577,17 @@ type CreateSecFilingReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingDate string `protobuf:"bytes,1,opt,name=filingDate,proto3" json:"filingDate,omitempty"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form,omitempty"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
||||
FormDescription string `protobuf:"bytes,4,opt,name=formDescription,proto3" json:"formDescription,omitempty"`
|
||||
FileLink string `protobuf:"bytes,5,opt,name=fileLink,proto3" json:"fileLink,omitempty"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,6,rep,name=dataFiles,proto3" json:"dataFiles,omitempty"`
|
||||
PdfFile string `protobuf:"bytes,7,opt,name=pdfFile,proto3" json:"pdfFile,omitempty"`
|
||||
WordFile string `protobuf:"bytes,8,opt,name=wordFile,proto3" json:"wordFile,omitempty"`
|
||||
ExcelFile string `protobuf:"bytes,9,opt,name=excelFile,proto3" json:"excelFile,omitempty"`
|
||||
Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator,omitempty"`
|
||||
OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId,omitempty"`
|
||||
FilingDate string `protobuf:"bytes,1,opt,name=filingDate,proto3" json:"filingDate"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description"`
|
||||
FormDescription string `protobuf:"bytes,4,opt,name=formDescription,proto3" json:"formDescription"`
|
||||
FileLink string `protobuf:"bytes,5,opt,name=fileLink,proto3" json:"fileLink"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,6,rep,name=dataFiles,proto3" json:"dataFiles"`
|
||||
PdfFile string `protobuf:"bytes,7,opt,name=pdfFile,proto3" json:"pdfFile"`
|
||||
WordFile string `protobuf:"bytes,8,opt,name=wordFile,proto3" json:"wordFile"`
|
||||
ExcelFile string `protobuf:"bytes,9,opt,name=excelFile,proto3" json:"excelFile"`
|
||||
Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"`
|
||||
OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId"`
|
||||
}
|
||||
|
||||
func (x *CreateSecFilingReq) Reset() {
|
||||
@ -704,18 +704,18 @@ type UpdateSecFilingReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey,omitempty"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form,omitempty"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
|
||||
FormDescription string `protobuf:"bytes,4,opt,name=formDescription,proto3" json:"formDescription,omitempty"`
|
||||
FileLink string `protobuf:"bytes,5,opt,name=fileLink,proto3" json:"fileLink,omitempty"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,6,rep,name=dataFiles,proto3" json:"dataFiles,omitempty"`
|
||||
PdfFile string `protobuf:"bytes,7,opt,name=pdfFile,proto3" json:"pdfFile,omitempty"`
|
||||
WordFile string `protobuf:"bytes,8,opt,name=wordFile,proto3" json:"wordFile,omitempty"`
|
||||
ExcelFile string `protobuf:"bytes,9,opt,name=excelFile,proto3" json:"excelFile,omitempty"`
|
||||
Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator,omitempty"`
|
||||
OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId,omitempty"`
|
||||
FilingDate string `protobuf:"bytes,12,opt,name=filingDate,proto3" json:"filingDate,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey"`
|
||||
Form string `protobuf:"bytes,2,opt,name=form,proto3" json:"form"`
|
||||
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description"`
|
||||
FormDescription string `protobuf:"bytes,4,opt,name=formDescription,proto3" json:"formDescription"`
|
||||
FileLink string `protobuf:"bytes,5,opt,name=fileLink,proto3" json:"fileLink"`
|
||||
DataFiles []*DataFiles `protobuf:"bytes,6,rep,name=dataFiles,proto3" json:"dataFiles"`
|
||||
PdfFile string `protobuf:"bytes,7,opt,name=pdfFile,proto3" json:"pdfFile"`
|
||||
WordFile string `protobuf:"bytes,8,opt,name=wordFile,proto3" json:"wordFile"`
|
||||
ExcelFile string `protobuf:"bytes,9,opt,name=excelFile,proto3" json:"excelFile"`
|
||||
Operator string `protobuf:"bytes,10,opt,name=operator,proto3" json:"operator"`
|
||||
OperatorId int32 `protobuf:"varint,11,opt,name=operatorId,proto3" json:"operatorId"`
|
||||
FilingDate string `protobuf:"bytes,12,opt,name=filingDate,proto3" json:"filingDate"`
|
||||
}
|
||||
|
||||
func (x *UpdateSecFilingReq) Reset() {
|
||||
@ -839,7 +839,7 @@ type DetailSecFilingReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey"`
|
||||
}
|
||||
|
||||
func (x *DetailSecFilingReq) Reset() {
|
||||
@ -886,8 +886,8 @@ type SecFilingDetailResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
|
||||
Data *SecFiling `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||
Data *SecFiling `protobuf:"bytes,2,opt,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *SecFilingDetailResp) Reset() {
|
||||
@ -941,12 +941,12 @@ type ListSecFilingReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Page uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
|
||||
PageSize uint32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
|
||||
Form string `protobuf:"bytes,3,opt,name=form,proto3" json:"form,omitempty"`
|
||||
FilingDateBegin string `protobuf:"bytes,4,opt,name=filingDateBegin,proto3" json:"filingDateBegin,omitempty"`
|
||||
FilingDateEnd string `protobuf:"bytes,5,opt,name=filingDateEnd,proto3" json:"filingDateEnd,omitempty"`
|
||||
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"`
|
||||
Page uint32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"`
|
||||
PageSize uint32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"`
|
||||
Form string `protobuf:"bytes,3,opt,name=form,proto3" json:"form"`
|
||||
FilingDateBegin string `protobuf:"bytes,4,opt,name=filingDateBegin,proto3" json:"filingDateBegin"`
|
||||
FilingDateEnd string `protobuf:"bytes,5,opt,name=filingDateEnd,proto3" json:"filingDateEnd"`
|
||||
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status"`
|
||||
}
|
||||
|
||||
func (x *ListSecFilingReq) Reset() {
|
||||
@ -1028,9 +1028,9 @@ type SecFilingListResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
|
||||
Total uint32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
|
||||
Data []*SecFiling `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
|
||||
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||
Total uint32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Data []*SecFiling `protobuf:"bytes,3,rep,name=data,proto3" json:"data"`
|
||||
}
|
||||
|
||||
func (x *SecFilingListResp) Reset() {
|
||||
@ -1233,9 +1233,9 @@ type DeleteSecFilingReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey,omitempty"`
|
||||
Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
|
||||
OperatorId int32 `protobuf:"varint,3,opt,name=operatorId,proto3" json:"operatorId,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey"`
|
||||
Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator"`
|
||||
OperatorId int32 `protobuf:"varint,3,opt,name=operatorId,proto3" json:"operatorId"`
|
||||
}
|
||||
|
||||
func (x *DeleteSecFilingReq) Reset() {
|
||||
@ -1296,10 +1296,10 @@ type UpdateSecFilingStatusReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey,omitempty"`
|
||||
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
|
||||
Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"`
|
||||
OperatorId int32 `protobuf:"varint,4,opt,name=operatorId,proto3" json:"operatorId,omitempty"`
|
||||
FilingKey string `protobuf:"bytes,1,opt,name=filingKey,proto3" json:"filingKey"`
|
||||
Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"`
|
||||
Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator"`
|
||||
OperatorId int32 `protobuf:"varint,4,opt,name=operatorId,proto3" json:"operatorId"`
|
||||
}
|
||||
|
||||
func (x *UpdateSecFilingStatusReq) Reset() {
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
"fmt"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/common"
|
||||
"fonchain-fiee/pkg/logger"
|
||||
"fonchain-fiee/pkg/router"
|
||||
)
|
||||
@ -55,6 +56,7 @@ func bootstrap() (err error) {
|
||||
}
|
||||
|
||||
cache.LoadRedis(redisConfig)
|
||||
common.Init()
|
||||
//
|
||||
//gpt.InitSet(configEnv.Ai.Host, configEnv.Ai.TelNum, configEnv.Ai.Password)
|
||||
return nil
|
||||
|
15
data/policy.html
Normal file
15
data/policy.html
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>隐私政策</title>
|
||||
<style>
|
||||
body { font-family: Arial, sans-serif; line-height: 1.6; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>H5系统隐私政策</p><p>生效日期:2025年9月2日</p><p>1. 信息收集与使用</p><p>收集的个人信息类型</p><p>基础信息:手机号、微信昵称、头像、设备信息(IMEI、操作系统版本)。</p><p>支付信息:订单号、支付金额、交易时间(通过加密方式传输,不存储银行卡信息)。</p><p>自媒体平台授权信息,例如:</p><p>抖音:API接口权限(仅限内容同步)。</p><p>内容生成数据:用户输入的关键词、风格偏好、历史生成内容。</p><p>收集目的</p><p>账号验证与支付:手机号用于身份核验,支付信息用于完成交易。</p><p>内容发布:通过授权信息调用第三方平台API,执行用户指令。</p><p>2. 信息共享与转让</p><p>第三方平台接口:仅在用户授权范围内调用API,不共享用户平台账号密码。</p><p>支付合作方:与微信支付、支付宝等服务商共享订单信息以完成交易。</p><p>法律要求:如配合司法机关调查或响应政府要求,可能披露必要信息。</p><p>3. 用户权利</p><p>访问与控制:</p><p>可随时在“个人中心”查看历史生成内容、订单记录及授权状态。</p><p>删除与撤回:</p><p>可申请删除个人账户及生成内容(不包含已同步至第三方平台的内容)。</p><p>4. 数据安全</p><p>技术措施:采用HTTPS加密传输、数据库脱敏存储,定期进行安全漏洞检测。</p><p>第三方SDK:仅接入必要SDK(如微信登录、地图服务等),并签署数据保密协议。</p><p>5. 隐私政策更新</p><p>如涉及重大变更(如新增数据收集项),将通过短信/邮件通知并要求重新授权。</p><p>6. 联系我们</p><p>如有疑问,请通过以下方式联系:</p><p>客服邮箱:develop@fiee.com</p>
|
||||
</body>
|
||||
</html>
|
||||
|
15
data/service.html
Normal file
15
data/service.html
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>服务条款</title>
|
||||
<style>
|
||||
body { font-family: Arial, sans-serif; line-height: 1.6; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>服务条款</p><p>生效日期:2025年9月2日</p><p>1. 接受条款</p><p>通过注册或使用本系统(以下简称“服务”),您确认已阅读、理解并同意以下条款。若您不同意本条款,请立即停止使用本服务。</p><p>2. 服务内容</p><p>本系统提供自媒体内容生成与发布服务,用户可购买套餐后生成图文、短视频等原创内容,并通过系统接口同步至指定自媒体平台(如微信公众号、抖音、小红书等)。</p><p>服务包含AI辅助创作、内容优化建议、一键发布功能,具体内容以实际功能模块为准。</p><p>3. 用户权利与义务</p><p>账号与支付</p><p>注册需提供手机号或微信授权,购买套餐需通过系统支持的支付方式(如微信支付、支付宝)。</p><p>您需确保支付账户信息真实有效,因虚假信息导致的损失由您自行承担。</p><p>内容生成与发布</p><p>生成内容为原创作品,最终发布权归用户所有。</p><p>用户需对生成内容进行人工审核,确认无误后方可发布。因内容违规导致的平台处罚或法律纠纷,责任由用户承担。</p><p>系统不对用户未审核内容的合规性负责,但有权对明显违法内容(如涉黄、涉政)进行过滤拦截。</p><p>第三方平台接口</p><p>用户需授权系统调用其自媒体平台API(如tiktok开发者接口),授权范围限于内容发布及数据同步。</p><p>授权信息仅用于执行用户指令,系统不存储用户平台账号密码等敏感信息。</p><p>4. 套餐与退款</p><p>套餐有效期自购买成功日起计算,逾期未使用的套餐不支持退款。</p><p>如因系统故障或服务瑕疵导致无法正常使用,可联系客服协商退款。</p><p>5. 知识产权</p><p>由系统生成的内容(如文案、图片)默认无版权归属限制,但用户需遵守以下规则:</p><p>不得将内容用于商业用途(如转售、批量分发);</p><p>不得篡改系统生成内容的署名或标识;</p><p>若内容包含第三方素材(如音乐、图片),用户需自行确保使用合法性。</p><p>6. 责任限制</p><p>系统不对以下情形承担责任:</p><p>用户未审核内容导致的平台封禁、投诉或法律风险;</p><p>第三方平台接口变更或服务中断;</p><p>因不可抗力(如网络故障)导致的发布延迟。</p><p>7. 其他</p><p>本条款解释权归服务提供方所有,更新后将在系统内公示,用户继续使用即视为同意。</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -14,6 +14,7 @@ BosUrl = ".bj.bcebos.com"
|
||||
BosBaseDir = "fiee"
|
||||
BosHttp = "https://"
|
||||
BosDomain = "cdns.fontree.cn"
|
||||
|
||||
[oss]
|
||||
AccessKeyId = "OSS_AK"
|
||||
AccessKeySecret = "OSS_SK"
|
||||
|
11
pkg/common/file.go
Normal file
11
pkg/common/file.go
Normal file
@ -0,0 +1,11 @@
|
||||
package common
|
||||
|
||||
import "fonchain-fiee/pkg/utils"
|
||||
|
||||
func Init() {
|
||||
_ = utils.CreateDirPath("./runtime")
|
||||
utils.CopyFile("./data/policy.html", "./runtime")
|
||||
utils.CopyFile("./data/service.html", "./runtime")
|
||||
utils.CopyFile("../data/policy.html", "./runtime")
|
||||
utils.CopyFile("../data/service.html", "./runtime")
|
||||
}
|
@ -9,381 +9,381 @@ const (
|
||||
)
|
||||
|
||||
var EnMessages = map[string]string{
|
||||
"获取套餐列表失败": "Failed to get bundle list",
|
||||
"创建套餐信息失败": "Failed to create bundle information",
|
||||
"创建套餐信息成功": "Successfully created bundle information",
|
||||
"更新套餐信息失败": "Failed to update bundle information",
|
||||
"更新套餐信息成功": "Successfully updated bundle information",
|
||||
"删除套餐信息失败": "Failed to delete bundle information",
|
||||
"删除套餐信息成功": "Successfully deleted bundle information",
|
||||
"获取套餐信息失败": "Failed to get bundle information",
|
||||
"创建订单信息失败": "Failed to create order information",
|
||||
"创建订单信息成功": "Successfully created order information",
|
||||
"更新订单信息失败": "Failed to update order information",
|
||||
"更新订单信息成功": "Successfully updated order information",
|
||||
"获取订单信息失败": "Failed to get order information",
|
||||
"获取订单列表失败": "Failed to get order list",
|
||||
"缺少套餐UUID": "Missing bundle UUID",
|
||||
"缺少客户签名信息": "Missing customer signature",
|
||||
"插入签名失败": "Failed to insert signature",
|
||||
"缺少订单号": "Missing order number",
|
||||
"缺少订单信息": "Missing order information",
|
||||
"获取套餐列表失败": "Failed to get bundle list",
|
||||
"创建套餐信息失败": "Failed to create bundle information",
|
||||
"创建套餐信息成功": "Successfully created bundle information",
|
||||
"更新套餐信息失败": "Failed to update bundle information",
|
||||
"更新套餐信息成功": "Successfully updated bundle information",
|
||||
"删除套餐信息失败": "Failed to delete bundle information",
|
||||
"删除套餐信息成功": "Successfully deleted bundle information",
|
||||
"获取套餐信息失败": "Failed to get bundle information",
|
||||
"创建订单信息失败": "Failed to create order information",
|
||||
"创建订单信息成功": "Successfully created order information",
|
||||
"更新订单信息失败": "Failed to update order information",
|
||||
"更新订单信息成功": "Successfully updated order information",
|
||||
"获取订单信息失败": "Failed to get order information",
|
||||
"获取订单列表失败": "Failed to get order list",
|
||||
"缺少套餐UUID": "Missing bundle UUID",
|
||||
"缺少客户签名信息": "Missing customer signature",
|
||||
"插入签名失败": "Failed to insert signature",
|
||||
"缺少订单号": "Missing order number",
|
||||
"缺少订单信息": "Missing order information",
|
||||
"非当前用户订单信息不可操作": "Cannot operate on order information of other users",
|
||||
"订单已支付": "Order has been paid",
|
||||
"订单已支付": "Order has been paid",
|
||||
"您已购买过套餐,无法再次购买": "You have already purchased this bundle and cannot purchase again",
|
||||
"查询支付信息失败": "Failed to query payment information",
|
||||
"下载文件失败": "Failed to download file",
|
||||
"上传文件失败": "Failed to upload file",
|
||||
"时间格式错误": "Invalid time format",
|
||||
"查询支付信息失败": "Failed to query payment information",
|
||||
"下载文件失败": "Failed to download file",
|
||||
"上传文件失败": "Failed to upload file",
|
||||
"时间格式错误": "Invalid time format",
|
||||
|
||||
"账号或密码错误": "The account or password is incorrect",
|
||||
"账号或验证码错误": "The account or verification code is incorrect",
|
||||
"账号已存在": "Account already exists",
|
||||
"没有找到数据": "No data found",
|
||||
"已经发送过,验证码尚可用": "It was sent. The verification code is still working",
|
||||
"系统提示:已经发送过,验证码尚可用": "System message: Already sent, verification code is still available",
|
||||
"账号或密码错误": "The account or password is incorrect",
|
||||
"账号或验证码错误": "The account or verification code is incorrect",
|
||||
"账号已存在": "Account already exists",
|
||||
"没有找到数据": "No data found",
|
||||
"已经发送过,验证码尚可用": "It was sent. The verification code is still working",
|
||||
"系统提示:已经发送过,验证码尚可用": "System message: Already sent, verification code is still available",
|
||||
"您的手机号当天发送次数过多,请联系管理员通过密码登录": "Your mobile phone number is sent too many times that day, please contact the administrator to log in through the password",
|
||||
"您的手机号验证码错误,请确认之后注册": "Your phone number verification code is incorrect, please confirm and register",
|
||||
"手机号不合法": "The phone number is illegal",
|
||||
"手机号未更改": "The phone number has not been changed",
|
||||
"新手机号过期": "New phone number expired",
|
||||
"验证码错误": "Verification code error",
|
||||
"验证码未发送": "The verification code was not sent",
|
||||
"账号不存在": "Account does not exist",
|
||||
"已实名": "In real name",
|
||||
"实名审核中,请勿重复提交": "During real-name audit, please do not submit repeatedly",
|
||||
"用户状态异常,无法进行审核": "The user is abnormal and cannot be audited. Procedure",
|
||||
"验证码已失效": "The verification code is invalid",
|
||||
"服务器错误": "Server error",
|
||||
"验证失败,请控制拼图对齐缺口": "Verification failed, please control puzzle alignment gap",
|
||||
"滑块验证状态不存在,请退出重试": "The slider verification status does not exist. Please exit and try again",
|
||||
"语言不能为空": "The language cannot be empty",
|
||||
"排序参数需为正整数": "The sorting parameter must be a positive integer",
|
||||
"请先创建中文版本套餐": "Please create the Chinese version bundle first",
|
||||
"增值服务不存在": "Value-added service does not exist",
|
||||
"所选增值服务币种与套餐币种不一致": "The selected value-added service currency is not the same as the bundle currency",
|
||||
"文件转换失败": "File conversion failed",
|
||||
"每种增值服务类型只可选择一个": "Each type of value-added service can only be selected once",
|
||||
"保存套餐与增值服务关联失败": "Failed to save bundle with value-added service association",
|
||||
"删除套餐与增值服务关联失败": "Failed to delete bundle with value-added service association",
|
||||
"查询套餐与增值服务关联失败": "Failed to query bundle with value-added service association",
|
||||
"更新套餐与增值服务关联失败": "Failed to update bundle with value-added service association",
|
||||
"查询增值服务失败": "Failed to query value-added service",
|
||||
"更新套餐状态失败": "Failed to update bundle status",
|
||||
"查询增值服务详情失败": "Failed to query value-added service details",
|
||||
"序列化转换失败": "Serialization conversion failed",
|
||||
"保存套餐历史记录失败": "Failed to save bundle history record",
|
||||
"原价不能为空": "Original price cannot be empty",
|
||||
"原价格式转换失败": "Original price format conversion failed",
|
||||
"数量参数需为0-99": "Quantity parameter must be between 0 and 99",
|
||||
"优惠单价需小于等于原价": "The discounted price must be less than or equal to the original price",
|
||||
"请先创建中文版本增值服务": "Please create the Chinese version value-added service first",
|
||||
"保存增值服务失败": "Failed to save value-added service",
|
||||
"保存增值服务历史记录失败": "Failed to save value-added service history record",
|
||||
"更新增值服务失败": "Failed to update value-added service",
|
||||
"查询增值服务列表失败": "Failed to query value-added service list",
|
||||
"计算价格失败": "Failed to calculate price",
|
||||
"更新成功": "Update successful",
|
||||
"保存成功": "Save successful",
|
||||
"优惠单价转换失败": "Discount unit price conversion failed",
|
||||
"符号错误": "Symbol error",
|
||||
"条件存在冲突,请重新设置": "Condition conflict exists, please reconfigure",
|
||||
"币种已修改,已取消关联部分增值服务": "Currency has been modified, some value-added services have been unlinked",
|
||||
"币种已修改,已取消关联部分套餐": "Currency has been modified, some packages have been unlinked",
|
||||
"新增增值服务成功": "Successfully added value-added service",
|
||||
"状态值无效": "Invalid status value",
|
||||
"套餐已上架,请勿重复操作": "Plan is already published, do not repeat the operation",
|
||||
"套餐已下架,请勿重复操作": "Plan is already unpublished, do not repeat the operation",
|
||||
"请先实名": "Please use your real name first",
|
||||
"实名审核中": "Real-name verification is underway",
|
||||
"实名审核失败": "The real-name verification failed",
|
||||
"未知实名状态": "Unknown real-name status",
|
||||
"您的手机号验证码错误,请确认之后注册": "Your phone number verification code is incorrect, please confirm and register",
|
||||
"手机号不合法": "The phone number is illegal",
|
||||
"手机号未更改": "The phone number has not been changed",
|
||||
"新手机号过期": "New phone number expired",
|
||||
"验证码错误": "Verification code error",
|
||||
"验证码未发送": "The verification code was not sent",
|
||||
"账号不存在": "Account does not exist",
|
||||
"已实名": "In real name",
|
||||
"实名审核中,请勿重复提交": "During real-name audit, please do not submit repeatedly",
|
||||
"用户状态异常,无法进行审核": "The user is abnormal and cannot be audited. Procedure",
|
||||
"验证码已失效": "The verification code is invalid",
|
||||
"服务器错误": "Server error",
|
||||
"验证失败,请控制拼图对齐缺口": "Verification failed, please control puzzle alignment gap",
|
||||
"滑块验证状态不存在,请退出重试": "The slider verification status does not exist. Please exit and try again",
|
||||
"语言不能为空": "The language cannot be empty",
|
||||
"排序参数需为正整数": "The sorting parameter must be a positive integer",
|
||||
"请先创建中文版本套餐": "Please create the Chinese version bundle first",
|
||||
"增值服务不存在": "Value-added service does not exist",
|
||||
"所选增值服务币种与套餐币种不一致": "The selected value-added service currency is not the same as the bundle currency",
|
||||
"文件转换失败": "File conversion failed",
|
||||
"每种增值服务类型只可选择一个": "Each type of value-added service can only be selected once",
|
||||
"保存套餐与增值服务关联失败": "Failed to save bundle with value-added service association",
|
||||
"删除套餐与增值服务关联失败": "Failed to delete bundle with value-added service association",
|
||||
"查询套餐与增值服务关联失败": "Failed to query bundle with value-added service association",
|
||||
"更新套餐与增值服务关联失败": "Failed to update bundle with value-added service association",
|
||||
"查询增值服务失败": "Failed to query value-added service",
|
||||
"更新套餐状态失败": "Failed to update bundle status",
|
||||
"查询增值服务详情失败": "Failed to query value-added service details",
|
||||
"序列化转换失败": "Serialization conversion failed",
|
||||
"保存套餐历史记录失败": "Failed to save bundle history record",
|
||||
"原价不能为空": "Original price cannot be empty",
|
||||
"原价格式转换失败": "Original price format conversion failed",
|
||||
"数量参数需为0-99": "Quantity parameter must be between 0 and 99",
|
||||
"优惠单价需小于等于原价": "The discounted price must be less than or equal to the original price",
|
||||
"请先创建中文版本增值服务": "Please create the Chinese version value-added service first",
|
||||
"保存增值服务失败": "Failed to save value-added service",
|
||||
"保存增值服务历史记录失败": "Failed to save value-added service history record",
|
||||
"更新增值服务失败": "Failed to update value-added service",
|
||||
"查询增值服务列表失败": "Failed to query value-added service list",
|
||||
"计算价格失败": "Failed to calculate price",
|
||||
"更新成功": "Update successful",
|
||||
"保存成功": "Save successful",
|
||||
"优惠单价转换失败": "Discount unit price conversion failed",
|
||||
"符号错误": "Symbol error",
|
||||
"条件存在冲突,请重新设置": "Condition conflict exists, please reconfigure",
|
||||
"币种已修改,已取消关联部分增值服务": "Currency has been modified, some value-added services have been unlinked",
|
||||
"币种已修改,已取消关联部分套餐": "Currency has been modified, some packages have been unlinked",
|
||||
"新增增值服务成功": "Successfully added value-added service",
|
||||
"状态值无效": "Invalid status value",
|
||||
"套餐已上架,请勿重复操作": "Plan is already published, do not repeat the operation",
|
||||
"套餐已下架,请勿重复操作": "Plan is already unpublished, do not repeat the operation",
|
||||
"请先实名": "Please use your real name first",
|
||||
"实名审核中": "Real-name verification is underway",
|
||||
"实名审核失败": "The real-name verification failed",
|
||||
"未知实名状态": "Unknown real-name status",
|
||||
}
|
||||
|
||||
var DeDEMessages = map[string]string{
|
||||
"获取套餐列表失败": "Fehler beim Abrufen der Bundle-Liste",
|
||||
"创建套餐信息失败": "Fehler beim Erstellen von Bundle-Informationen",
|
||||
"创建套餐信息成功": "Bundle-Informationen erfolgreich erstellt",
|
||||
"更新套餐信息失败": "Fehler beim Aktualisieren von Bundle-Informationen",
|
||||
"更新套餐信息成功": "Bundle-Informationen erfolgreich aktualisiert",
|
||||
"删除套餐信息失败": "Fehler beim Löschen von Bundle-Informationen",
|
||||
"删除套餐信息成功": "Bundle-Informationen erfolgreich gelöscht",
|
||||
"获取套餐信息失败": "Fehler beim Abrufen von Bundle-Informationen",
|
||||
"创建订单信息失败": "Fehler beim Erstellen von Bestellinformationen",
|
||||
"创建订单信息成功": "Bestellinformationen erfolgreich erstellt",
|
||||
"更新订单信息失败": "Fehler beim Aktualisieren von Bestellinformationen",
|
||||
"更新订单信息成功": "Bestellinformationen erfolgreich aktualisiert",
|
||||
"获取订单信息失败": "Fehler beim Abrufen von Bestellinformationen",
|
||||
"获取订单列表失败": "Fehler beim Abrufen der Bestellliste",
|
||||
"缺少套餐UUID": "Fehlende Bundle-UUID",
|
||||
"缺少客户签名信息": "Fehlende Kundenunterschrift",
|
||||
"插入签名失败": "Fehler beim Einfügen der Signatur",
|
||||
"缺少订单号": "Fehlende Bestellnummer",
|
||||
"缺少订单信息": "Fehlende Bestellinformationen",
|
||||
"获取套餐列表失败": "Fehler beim Abrufen der Bundle-Liste",
|
||||
"创建套餐信息失败": "Fehler beim Erstellen von Bundle-Informationen",
|
||||
"创建套餐信息成功": "Bundle-Informationen erfolgreich erstellt",
|
||||
"更新套餐信息失败": "Fehler beim Aktualisieren von Bundle-Informationen",
|
||||
"更新套餐信息成功": "Bundle-Informationen erfolgreich aktualisiert",
|
||||
"删除套餐信息失败": "Fehler beim Löschen von Bundle-Informationen",
|
||||
"删除套餐信息成功": "Bundle-Informationen erfolgreich gelöscht",
|
||||
"获取套餐信息失败": "Fehler beim Abrufen von Bundle-Informationen",
|
||||
"创建订单信息失败": "Fehler beim Erstellen von Bestellinformationen",
|
||||
"创建订单信息成功": "Bestellinformationen erfolgreich erstellt",
|
||||
"更新订单信息失败": "Fehler beim Aktualisieren von Bestellinformationen",
|
||||
"更新订单信息成功": "Bestellinformationen erfolgreich aktualisiert",
|
||||
"获取订单信息失败": "Fehler beim Abrufen von Bestellinformationen",
|
||||
"获取订单列表失败": "Fehler beim Abrufen der Bestellliste",
|
||||
"缺少套餐UUID": "Fehlende Bundle-UUID",
|
||||
"缺少客户签名信息": "Fehlende Kundenunterschrift",
|
||||
"插入签名失败": "Fehler beim Einfügen der Signatur",
|
||||
"缺少订单号": "Fehlende Bestellnummer",
|
||||
"缺少订单信息": "Fehlende Bestellinformationen",
|
||||
"非当前用户订单信息不可操作": "Bestellinformationen anderer Benutzer können nicht bearbeitet werden",
|
||||
"订单已支付": "Bestellung wurde bezahlt",
|
||||
"订单已支付": "Bestellung wurde bezahlt",
|
||||
"您已购买过套餐,无法再次购买": "Sie haben dieses Bundle bereits gekauft und können es nicht erneut kaufen",
|
||||
"查询支付信息失败": "Fehler beim Abfragen von Zahlungsinformationen",
|
||||
"下载文件失败": "Fehler beim Herunterladen der Datei",
|
||||
"上传文件失败": "Fehler beim Hochladen der Datei",
|
||||
"时间格式错误": "Ungültiges Zeitformat",
|
||||
"查询支付信息失败": "Fehler beim Abfragen von Zahlungsinformationen",
|
||||
"下载文件失败": "Fehler beim Herunterladen der Datei",
|
||||
"上传文件失败": "Fehler beim Hochladen der Datei",
|
||||
"时间格式错误": "Ungültiges Zeitformat",
|
||||
|
||||
"账号或密码错误": "Konto oder Passwort falsch",
|
||||
"账号或验证码错误": "Konto oder Verifizierungscode falsch",
|
||||
"账号已存在": "Konto existiert bereits",
|
||||
"没有找到数据": "Keine Daten gefunden",
|
||||
"已经发送过,验证码尚可用": "Es wurde gesendet. Der Verifizierungscode funktioniert noch",
|
||||
"系统提示:已经发送过,验证码尚可用": "Systemnachricht: Bereits gesendet, Verifizierungscode ist noch verfügbar",
|
||||
"账号或密码错误": "Konto oder Passwort falsch",
|
||||
"账号或验证码错误": "Konto oder Verifizierungscode falsch",
|
||||
"账号已存在": "Konto existiert bereits",
|
||||
"没有找到数据": "Keine Daten gefunden",
|
||||
"已经发送过,验证码尚可用": "Es wurde gesendet. Der Verifizierungscode funktioniert noch",
|
||||
"系统提示:已经发送过,验证码尚可用": "Systemnachricht: Bereits gesendet, Verifizierungscode ist noch verfügbar",
|
||||
"您的手机号当天发送次数过多,请联系管理员通过密码登录": "Ihre Telefonnummer wurde an diesem Tag zu oft gesendet. Bitte wenden Sie sich an den Administrator, um sich über das Passwort anzumelden",
|
||||
"您的手机号验证码错误,请确认之后注册": "Ihre Telefonnummer Verifizierungscode ist falsch, bitte bestätigen und registrieren",
|
||||
"手机号不合法": "Telefonnummer ungültig",
|
||||
"手机号未更改": "Telefonnummer wurde nicht geändert",
|
||||
"新手机号过期": "Neue Telefonnummer abgelaufen",
|
||||
"验证码错误": "Verifizierungscode falsch",
|
||||
"验证码未发送": "Der Verifizierungscode wurde nicht gesendet",
|
||||
"账号不存在": "Konto existiert nicht",
|
||||
"已实名": "In echt",
|
||||
"实名审核中,请勿重复提交": "Während der Echtheitsprüfung bitte nicht wiederholen",
|
||||
"用户状态异常,无法进行审核": "Der Benutzer ist abnorm und kann nicht geprüft werden. Verfahren",
|
||||
"验证码已失效": "Der Verifizierungscode ist ungültig",
|
||||
"服务器错误": "Serverfehler",
|
||||
"验证失败,请控制拼图对齐缺口": "Überprüfung fehlgeschlagen, bitte Steuerung Puzzle-Ausrichtungslücke",
|
||||
"滑块验证状态不存在,请退出重试": "Die krümmbestätigung existiert nicht. Bitte beenden sie den vorgang",
|
||||
"语言不能为空": "Sprache darf nicht leer sein",
|
||||
"排序参数需为正整数": "Sortierparameter muss eine positive ganze Zahl sein",
|
||||
"请先创建中文版本套餐": "Bitte erstelle das Chinese Version-Paket",
|
||||
"增值服务不存在": "Der Werbeangebot existiert nicht",
|
||||
"所选增值服务币种与套餐币种不一致": "Die ausgewählte Währung des Werbeangebots stimmt nicht mit der Währung des Pakets überein",
|
||||
"文件转换失败": "Datei-Umwandlung fehlgeschlagen",
|
||||
"每种增值服务类型只可选择一个": "Jeder Werbeangebotstyp kann nur einmal ausgewählt werden",
|
||||
"保存套餐与增值服务关联失败": "Fehler beim Speichern des Pakets mit Werbeangebot",
|
||||
"删除套餐与增值服务关联失败": "Fehler beim Löschen des Pakets mit Werbeangebot",
|
||||
"查询套餐与增值服务关联失败": "Fehler beim Abrufen des Pakets mit Werbeangebot",
|
||||
"更新套餐与增值服务关联失败": "Fehler beim Aktualisieren des Pakets mit Werbeangebot",
|
||||
"查询增值服务失败": "Fehler beim Abrufen des Werbeangebots",
|
||||
"更新套餐状态失败": "Fehler beim Aktualisieren des Paketstatus",
|
||||
"查询增值服务详情失败": "Fehler beim Abrufen der Werbeangebotsdetails",
|
||||
"序列化转换失败": "Fehler beim Serialisieren",
|
||||
"保存套餐历史记录失败": "Fehler beim Speichern des Pakethistorie",
|
||||
"原价不能为空": "Der reguläre Preis darf nicht leer sein",
|
||||
"原价格式转换失败": "Fehler beim Umwandeln des regulären Preises",
|
||||
"数量参数需为0-99": "Die Anzahlsmusterparameter muss eine positive ganze Zahl sein",
|
||||
"优惠单价需小于等于原价": "Der Rabattpreis muss kleiner oder gleich dem regulären Preis sein",
|
||||
"请先创建中文版本增值服务": "Bitte erstelle das Chinese Version-Werbeangebot",
|
||||
"保存增值服务失败": "Fehler beim Speichern des Werbeangebots",
|
||||
"保存增值服务历史记录失败": "Fehler beim Speichern des Werbeangebots-Historie",
|
||||
"更新增值服务失败": "Fehler beim Aktualisieren des Werbeangebots",
|
||||
"查询增值服务列表失败": "Fehler beim Abrufen der Werbeangebotsliste",
|
||||
"计算价格失败": "Fehler beim Berechnen des Preises",
|
||||
"更新成功": "Aktualisierung erfolgreich",
|
||||
"保存成功": "Speichern erfolgreich",
|
||||
"优惠单价转换失败": "Rabatt-Einzelpreisumrechnung fehlgeschlagen",
|
||||
"符号错误": "Symbolfehler",
|
||||
"条件存在冲突,请重新设置": "Bedingungskonflikt vorhanden, bitte neu konfigurieren",
|
||||
"币种已修改,已取消关联部分增值服务": "Währung wurde geändert, einige Mehrwertdienste wurden getrennt",
|
||||
"币种已修改,已取消关联部分套餐": "Währung wurde geändert, einige Pakete wurden getrennt",
|
||||
"新增增值服务成功": "Mehrwertdienst erfolgreich hinzugefügt",
|
||||
"状态值无效": "Ungültiger Statuswert",
|
||||
"套餐已上架,请勿重复操作": "Paket ist bereits veröffentlicht, bitte nicht wiederholen",
|
||||
"套餐已下架,请勿重复操作": "Paket ist bereits zurückgezogen, bitte nicht wiederholen",
|
||||
"请先实名": "Bitte, nur der name",
|
||||
"实名审核中": "Contest läuft",
|
||||
"实名审核失败": "Die confirmation hat versagt",
|
||||
"未知实名状态": "Noch nicht registriert",
|
||||
"您的手机号验证码错误,请确认之后注册": "Ihre Telefonnummer Verifizierungscode ist falsch, bitte bestätigen und registrieren",
|
||||
"手机号不合法": "Telefonnummer ungültig",
|
||||
"手机号未更改": "Telefonnummer wurde nicht geändert",
|
||||
"新手机号过期": "Neue Telefonnummer abgelaufen",
|
||||
"验证码错误": "Verifizierungscode falsch",
|
||||
"验证码未发送": "Der Verifizierungscode wurde nicht gesendet",
|
||||
"账号不存在": "Konto existiert nicht",
|
||||
"已实名": "In echt",
|
||||
"实名审核中,请勿重复提交": "Während der Echtheitsprüfung bitte nicht wiederholen",
|
||||
"用户状态异常,无法进行审核": "Der Benutzer ist abnorm und kann nicht geprüft werden. Verfahren",
|
||||
"验证码已失效": "Der Verifizierungscode ist ungültig",
|
||||
"服务器错误": "Serverfehler",
|
||||
"验证失败,请控制拼图对齐缺口": "Überprüfung fehlgeschlagen, bitte Steuerung Puzzle-Ausrichtungslücke",
|
||||
"滑块验证状态不存在,请退出重试": "Die krümmbestätigung existiert nicht. Bitte beenden sie den vorgang",
|
||||
"语言不能为空": "Sprache darf nicht leer sein",
|
||||
"排序参数需为正整数": "Sortierparameter muss eine positive ganze Zahl sein",
|
||||
"请先创建中文版本套餐": "Bitte erstelle das Chinese Version-Paket",
|
||||
"增值服务不存在": "Der Werbeangebot existiert nicht",
|
||||
"所选增值服务币种与套餐币种不一致": "Die ausgewählte Währung des Werbeangebots stimmt nicht mit der Währung des Pakets überein",
|
||||
"文件转换失败": "Datei-Umwandlung fehlgeschlagen",
|
||||
"每种增值服务类型只可选择一个": "Jeder Werbeangebotstyp kann nur einmal ausgewählt werden",
|
||||
"保存套餐与增值服务关联失败": "Fehler beim Speichern des Pakets mit Werbeangebot",
|
||||
"删除套餐与增值服务关联失败": "Fehler beim Löschen des Pakets mit Werbeangebot",
|
||||
"查询套餐与增值服务关联失败": "Fehler beim Abrufen des Pakets mit Werbeangebot",
|
||||
"更新套餐与增值服务关联失败": "Fehler beim Aktualisieren des Pakets mit Werbeangebot",
|
||||
"查询增值服务失败": "Fehler beim Abrufen des Werbeangebots",
|
||||
"更新套餐状态失败": "Fehler beim Aktualisieren des Paketstatus",
|
||||
"查询增值服务详情失败": "Fehler beim Abrufen der Werbeangebotsdetails",
|
||||
"序列化转换失败": "Fehler beim Serialisieren",
|
||||
"保存套餐历史记录失败": "Fehler beim Speichern des Pakethistorie",
|
||||
"原价不能为空": "Der reguläre Preis darf nicht leer sein",
|
||||
"原价格式转换失败": "Fehler beim Umwandeln des regulären Preises",
|
||||
"数量参数需为0-99": "Die Anzahlsmusterparameter muss eine positive ganze Zahl sein",
|
||||
"优惠单价需小于等于原价": "Der Rabattpreis muss kleiner oder gleich dem regulären Preis sein",
|
||||
"请先创建中文版本增值服务": "Bitte erstelle das Chinese Version-Werbeangebot",
|
||||
"保存增值服务失败": "Fehler beim Speichern des Werbeangebots",
|
||||
"保存增值服务历史记录失败": "Fehler beim Speichern des Werbeangebots-Historie",
|
||||
"更新增值服务失败": "Fehler beim Aktualisieren des Werbeangebots",
|
||||
"查询增值服务列表失败": "Fehler beim Abrufen der Werbeangebotsliste",
|
||||
"计算价格失败": "Fehler beim Berechnen des Preises",
|
||||
"更新成功": "Aktualisierung erfolgreich",
|
||||
"保存成功": "Speichern erfolgreich",
|
||||
"优惠单价转换失败": "Rabatt-Einzelpreisumrechnung fehlgeschlagen",
|
||||
"符号错误": "Symbolfehler",
|
||||
"条件存在冲突,请重新设置": "Bedingungskonflikt vorhanden, bitte neu konfigurieren",
|
||||
"币种已修改,已取消关联部分增值服务": "Währung wurde geändert, einige Mehrwertdienste wurden getrennt",
|
||||
"币种已修改,已取消关联部分套餐": "Währung wurde geändert, einige Pakete wurden getrennt",
|
||||
"新增增值服务成功": "Mehrwertdienst erfolgreich hinzugefügt",
|
||||
"状态值无效": "Ungültiger Statuswert",
|
||||
"套餐已上架,请勿重复操作": "Paket ist bereits veröffentlicht, bitte nicht wiederholen",
|
||||
"套餐已下架,请勿重复操作": "Paket ist bereits zurückgezogen, bitte nicht wiederholen",
|
||||
"请先实名": "Bitte, nur der name",
|
||||
"实名审核中": "Contest läuft",
|
||||
"实名审核失败": "Die confirmation hat versagt",
|
||||
"未知实名状态": "Noch nicht registriert",
|
||||
}
|
||||
|
||||
var JaJPMessages = map[string]string{
|
||||
"获取套餐列表失败": "バンドルリストの取得に失敗しました",
|
||||
"创建套餐信息失败": "バンドル情報の作成に失敗しました",
|
||||
"创建套餐信息成功": "バンドル情報の作成に成功しました",
|
||||
"更新套餐信息失败": "バンドル情報の更新に失敗しました",
|
||||
"更新套餐信息成功": "バンドル情報の更新に成功しました",
|
||||
"删除套餐信息失败": "バンドル情報の削除に失敗しました",
|
||||
"删除套餐信息成功": "バンドル情報の削除に成功しました",
|
||||
"获取套餐信息失败": "バンドル情報の取得に失敗しました",
|
||||
"创建订单信息失败": "注文情報の作成に失敗しました",
|
||||
"创建订单信息成功": "注文情報の作成に成功しました",
|
||||
"更新订单信息失败": "注文情報の更新に失敗しました",
|
||||
"更新订单信息成功": "注文情報の更新に成功しました",
|
||||
"获取订单信息失败": "注文情報の取得に失敗しました",
|
||||
"获取订单列表失败": "注文リストの取得に失敗しました",
|
||||
"缺少套餐UUID": "バンドルUUIDがありません",
|
||||
"缺少客户签名信息": "顧客署名情報がありません",
|
||||
"插入签名失败": "署名の挿入に失敗しました",
|
||||
"缺少订单号": "注文番号がありません",
|
||||
"缺少订单信息": "注文情報がありません",
|
||||
"获取套餐列表失败": "バンドルリストの取得に失敗しました",
|
||||
"创建套餐信息失败": "バンドル情報の作成に失敗しました",
|
||||
"创建套餐信息成功": "バンドル情報の作成に成功しました",
|
||||
"更新套餐信息失败": "バンドル情報の更新に失敗しました",
|
||||
"更新套餐信息成功": "バンドル情報の更新に成功しました",
|
||||
"删除套餐信息失败": "バンドル情報の削除に失敗しました",
|
||||
"删除套餐信息成功": "バンドル情報の削除に成功しました",
|
||||
"获取套餐信息失败": "バンドル情報の取得に失敗しました",
|
||||
"创建订单信息失败": "注文情報の作成に失敗しました",
|
||||
"创建订单信息成功": "注文情報の作成に成功しました",
|
||||
"更新订单信息失败": "注文情報の更新に失敗しました",
|
||||
"更新订单信息成功": "注文情報の更新に成功しました",
|
||||
"获取订单信息失败": "注文情報の取得に失敗しました",
|
||||
"获取订单列表失败": "注文リストの取得に失敗しました",
|
||||
"缺少套餐UUID": "バンドルUUIDがありません",
|
||||
"缺少客户签名信息": "顧客署名情報がありません",
|
||||
"插入签名失败": "署名の挿入に失敗しました",
|
||||
"缺少订单号": "注文番号がありません",
|
||||
"缺少订单信息": "注文情報がありません",
|
||||
"非当前用户订单信息不可操作": "他のユーザーの注文情報を操作できません",
|
||||
"订单已支付": "注文は支払われました",
|
||||
"订单已支付": "注文は支払われました",
|
||||
"您已购买过套餐,无法再次购买": "このバンドルはすでに購入済みであり、再度購入することはできません",
|
||||
"查询支付信息失败": "支払い情報のクエリに失敗しました",
|
||||
"下载文件失败": "ファイルのダウンロードに失敗しました",
|
||||
"上传文件失败": "ファイルのアップロードに失敗しました",
|
||||
"时间格式错误": "無効な時間形式",
|
||||
"查询支付信息失败": "支払い情報のクエリに失敗しました",
|
||||
"下载文件失败": "ファイルのダウンロードに失敗しました",
|
||||
"上传文件失败": "ファイルのアップロードに失敗しました",
|
||||
"时间格式错误": "無効な時間形式",
|
||||
|
||||
"账号或密码错误": "アカウントまたはパスワードが間違っています",
|
||||
"账号或验证码错误": "アカウントまたは検証コードが間違っています",
|
||||
"账号已存在": "アカウントはすでに存在します",
|
||||
"没有找到数据": "データが見つかりません",
|
||||
"已经发送过,验证码尚可用": "送信されました。検証コードは引き続き有効です",
|
||||
"系统提示:已经发送过,验证码尚可用": "システムメッセージ:すでに送信され、検証コードは引き続き有効です",
|
||||
"账号或密码错误": "アカウントまたはパスワードが間違っています",
|
||||
"账号或验证码错误": "アカウントまたは検証コードが間違っています",
|
||||
"账号已存在": "アカウントはすでに存在します",
|
||||
"没有找到数据": "データが見つかりません",
|
||||
"已经发送过,验证码尚可用": "送信されました。検証コードは引き続き有効です",
|
||||
"系统提示:已经发送过,验证码尚可用": "システムメッセージ:すでに送信され、検証コードは引き続き有効です",
|
||||
"您的手机号当天发送次数过多,请联系管理员通过密码登录": "その日の電話番号が送信されすぎています。管理者に連絡してパスワードでログインしてください",
|
||||
"您的手机号验证码错误,请确认之后注册": "電話番号の検証コードが間違っています。確認して登録してください",
|
||||
"手机号不合法": "電話番号が無効です",
|
||||
"手机号未更改": "電話番号が変更されていません",
|
||||
"新手机号过期": "新しい電話番号の有効期限が切れました",
|
||||
"验证码错误": "検証コードが間違っています",
|
||||
"验证码未发送": "検証コードが送信されていません",
|
||||
"账号不存在": "アカウントが存在しません",
|
||||
"已实名": "実名",
|
||||
"实名审核中,请勿重复提交": "実名審査中、繰り返し提出しないでください",
|
||||
"用户状态异常,无法进行审核": "ユーザーが異常であり、審査できません。手続き",
|
||||
"验证码已失效": "検証コードが無効です",
|
||||
"服务器错误": "サーバーエラー",
|
||||
"验证失败,请控制拼图对齐缺口": "検証に失敗しました。パズルの整列ギャップを制御してください",
|
||||
"滑块验证状态不存在,请退出重试": "スライダー検証状態が存在しません,リトライをログアウトしてください",
|
||||
"您的手机号验证码错误,请确认之后注册": "電話番号の検証コードが間違っています。確認して登録してください",
|
||||
"手机号不合法": "電話番号が無効です",
|
||||
"手机号未更改": "電話番号が変更されていません",
|
||||
"新手机号过期": "新しい電話番号の有効期限が切れました",
|
||||
"验证码错误": "検証コードが間違っています",
|
||||
"验证码未发送": "検証コードが送信されていません",
|
||||
"账号不存在": "アカウントが存在しません",
|
||||
"已实名": "実名",
|
||||
"实名审核中,请勿重复提交": "実名審査中、繰り返し提出しないでください",
|
||||
"用户状态异常,无法进行审核": "ユーザーが異常であり、審査できません。手続き",
|
||||
"验证码已失效": "検証コードが無効です",
|
||||
"服务器错误": "サーバーエラー",
|
||||
"验证失败,请控制拼图对齐缺口": "検証に失敗しました。パズルの整列ギャップを制御してください",
|
||||
"滑块验证状态不存在,请退出重试": "スライダー検証状態が存在しません,リトライをログアウトしてください",
|
||||
|
||||
"语言不能为空": "言語が空です",
|
||||
"排序参数需为正整数": "ソートパラメーターは正の整数でなければなりません",
|
||||
"请先创建中文版本套餐": "最初に中国語バージョンのパッケージを作成してください",
|
||||
"增值服务不存在": "付加サービスは存在しません",
|
||||
"语言不能为空": "言語が空です",
|
||||
"排序参数需为正整数": "ソートパラメーターは正の整数でなければなりません",
|
||||
"请先创建中文版本套餐": "最初に中国語バージョンのパッケージを作成してください",
|
||||
"增值服务不存在": "付加サービスは存在しません",
|
||||
"所选增值服务币种与套餐币种不一致": "選択した付加サービスの通貨とパッケージの通貨が一致しません",
|
||||
"文件转换失败": "ファイル変換に失敗しました",
|
||||
"每种增值服务类型只可选择一个": "各種付加サービスタイプは一つしか選択できません",
|
||||
"保存套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの保存に失敗しました",
|
||||
"删除套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの削除に失敗しました",
|
||||
"查询套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの検索に失敗しました",
|
||||
"更新套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの更新に失敗しました",
|
||||
"查询增值服务失败": "付加サービスの検索に失敗しました",
|
||||
"更新套餐状态失败": "パッケージステータスの更新に失敗しました",
|
||||
"查询增值服务详情失败": "付加サービスの詳細検索に失敗しました",
|
||||
"序列化转换失败": "シリアライズ変換に失敗しました",
|
||||
"保存套餐历史记录失败": "パッケージ履歴の保存に失敗しました",
|
||||
"原价不能为空": "原価は空にできません",
|
||||
"原价格式转换失败": "原価のフォーマット変換に失敗しました",
|
||||
"数量参数需为0-99": "数量パラメーターは0-99でなければなりません",
|
||||
"优惠单价需小于等于原价": "割引単価は原価以下でなければなりません",
|
||||
"请先创建中文版本增值服务": "最初に中国語バージョンの付加サービスを作成してください",
|
||||
"保存增值服务失败": "付加サービスの保存に失敗しました",
|
||||
"保存增值服务历史记录失败": "付加サービス履歴の保存に失敗しました",
|
||||
"更新增值服务失败": "付加サービスの更新に失敗しました",
|
||||
"查询增值服务列表失败": "付加サービスリストの検索に失敗しました",
|
||||
"计算价格失败": "価格計算に失敗しました",
|
||||
"更新成功": "更新が成功しました",
|
||||
"保存成功": "保存が成功しました",
|
||||
"优惠单价转换失败": "割引単価変換に失敗しました",
|
||||
"符号错误": "記号エラー",
|
||||
"条件存在冲突,请重新设置": "条件が競合しています、再設定してください",
|
||||
"文件转换失败": "ファイル変換に失敗しました",
|
||||
"每种增值服务类型只可选择一个": "各種付加サービスタイプは一つしか選択できません",
|
||||
"保存套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの保存に失敗しました",
|
||||
"删除套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの削除に失敗しました",
|
||||
"查询套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの検索に失敗しました",
|
||||
"更新套餐与增值服务关联失败": "パッケージと付加サービスの関連付けの更新に失敗しました",
|
||||
"查询增值服务失败": "付加サービスの検索に失敗しました",
|
||||
"更新套餐状态失败": "パッケージステータスの更新に失敗しました",
|
||||
"查询增值服务详情失败": "付加サービスの詳細検索に失敗しました",
|
||||
"序列化转换失败": "シリアライズ変換に失敗しました",
|
||||
"保存套餐历史记录失败": "パッケージ履歴の保存に失敗しました",
|
||||
"原价不能为空": "原価は空にできません",
|
||||
"原价格式转换失败": "原価のフォーマット変換に失敗しました",
|
||||
"数量参数需为0-99": "数量パラメーターは0-99でなければなりません",
|
||||
"优惠单价需小于等于原价": "割引単価は原価以下でなければなりません",
|
||||
"请先创建中文版本增值服务": "最初に中国語バージョンの付加サービスを作成してください",
|
||||
"保存增值服务失败": "付加サービスの保存に失敗しました",
|
||||
"保存增值服务历史记录失败": "付加サービス履歴の保存に失敗しました",
|
||||
"更新增值服务失败": "付加サービスの更新に失敗しました",
|
||||
"查询增值服务列表失败": "付加サービスリストの検索に失敗しました",
|
||||
"计算价格失败": "価格計算に失敗しました",
|
||||
"更新成功": "更新が成功しました",
|
||||
"保存成功": "保存が成功しました",
|
||||
"优惠单价转换失败": "割引単価変換に失敗しました",
|
||||
"符号错误": "記号エラー",
|
||||
"条件存在冲突,请重新设置": "条件が競合しています、再設定してください",
|
||||
"币种已修改,已取消关联部分增值服务": "通貨が変更され、一部の付加サービスの関連付けが解除されました",
|
||||
"币种已修改,已取消关联部分套餐": "通貨が変更され、一部のパッケージの関連付けが解除されました",
|
||||
"新增增值服务成功": "付加サービスの追加に成功しました",
|
||||
"状态值无效": "状態値が無効です",
|
||||
"套餐已上架,请勿重复操作": "プランはすでに公開済みです、重複操作は避けてください",
|
||||
"套餐已下架,请勿重复操作": "プランはすでに非公開です、重複操作は避けてください",
|
||||
"请先实名": "まずは実名でお願いします",
|
||||
"实名审核中": "実名審査中です",
|
||||
"实名审核失败": "実名検証失敗です",
|
||||
"未知实名状态": "未知の実名状態です",
|
||||
"币种已修改,已取消关联部分套餐": "通貨が変更され、一部のパッケージの関連付けが解除されました",
|
||||
"新增增值服务成功": "付加サービスの追加に成功しました",
|
||||
"状态值无效": "状態値が無効です",
|
||||
"套餐已上架,请勿重复操作": "プランはすでに公開済みです、重複操作は避けてください",
|
||||
"套餐已下架,请勿重复操作": "プランはすでに非公開です、重複操作は避けてください",
|
||||
"请先实名": "まずは実名でお願いします",
|
||||
"实名审核中": "実名審査中です",
|
||||
"实名审核失败": "実名検証失敗です",
|
||||
"未知实名状态": "未知の実名状態です",
|
||||
}
|
||||
|
||||
var ZhTWMessages = map[string]string{
|
||||
"获取套餐列表失败": "獲取套餐列表失敗",
|
||||
"创建套餐信息失败": "創建套餐信息失敗",
|
||||
"创建套餐信息成功": "創建套餐信息成功",
|
||||
"更新套餐信息失败": "更新套餐信息失敗",
|
||||
"更新套餐信息成功": "更新套餐信息成功",
|
||||
"删除套餐信息失败": "刪除套餐信息失敗",
|
||||
"删除套餐信息成功": "刪除套餐信息成功",
|
||||
"获取套餐信息失败": "獲取套餐信息失敗",
|
||||
"创建订单信息失败": "創建訂單信息失敗",
|
||||
"创建订单信息成功": "創建訂單信息成功",
|
||||
"更新订单信息失败": "更新訂單信息失敗",
|
||||
"更新订单信息成功": "更新訂單信息成功",
|
||||
"获取订单信息失败": "獲取訂單信息失敗",
|
||||
"获取订单列表失败": "獲取訂單列表失敗",
|
||||
"缺少套餐UUID": "缺少套餐UUID",
|
||||
"缺少客户签名信息": "缺少客戶簽名信息",
|
||||
"插入签名失败": "插入簽名失敗",
|
||||
"缺少订单号": "缺少訂單號",
|
||||
"缺少订单信息": "缺少訂單信息",
|
||||
"获取套餐列表失败": "獲取套餐列表失敗",
|
||||
"创建套餐信息失败": "創建套餐信息失敗",
|
||||
"创建套餐信息成功": "創建套餐信息成功",
|
||||
"更新套餐信息失败": "更新套餐信息失敗",
|
||||
"更新套餐信息成功": "更新套餐信息成功",
|
||||
"删除套餐信息失败": "刪除套餐信息失敗",
|
||||
"删除套餐信息成功": "刪除套餐信息成功",
|
||||
"获取套餐信息失败": "獲取套餐信息失敗",
|
||||
"创建订单信息失败": "創建訂單信息失敗",
|
||||
"创建订单信息成功": "創建訂單信息成功",
|
||||
"更新订单信息失败": "更新訂單信息失敗",
|
||||
"更新订单信息成功": "更新訂單信息成功",
|
||||
"获取订单信息失败": "獲取訂單信息失敗",
|
||||
"获取订单列表失败": "獲取訂單列表失敗",
|
||||
"缺少套餐UUID": "缺少套餐UUID",
|
||||
"缺少客户签名信息": "缺少客戶簽名信息",
|
||||
"插入签名失败": "插入簽名失敗",
|
||||
"缺少订单号": "缺少訂單號",
|
||||
"缺少订单信息": "缺少訂單信息",
|
||||
"非当前用户订单信息不可操作": "非當前用戶訂單信息不可操作",
|
||||
"订单已支付": "訂單已支付",
|
||||
"订单已支付": "訂單已支付",
|
||||
"您已购买过套餐,无法再次购买": "您已購買過套餐,無法再次購買",
|
||||
"查询支付信息失败": "查詢支付信息失敗",
|
||||
"下载文件失败": "下載文件失敗",
|
||||
"上传文件失败": "上傳文件失敗",
|
||||
"时间格式错误": "時間格式錯誤",
|
||||
"查询支付信息失败": "查詢支付信息失敗",
|
||||
"下载文件失败": "下載文件失敗",
|
||||
"上传文件失败": "上傳文件失敗",
|
||||
"时间格式错误": "時間格式錯誤",
|
||||
|
||||
"账号或密码错误": "帳號或密碼錯誤",
|
||||
"账号或验证码错误": "帳號或驗證碼錯誤",
|
||||
"账号已存在": "帳號已存在",
|
||||
"没有找到数据": "沒有找到數據",
|
||||
"已经发送过,验证码尚可用": "已經發送過,驗證碼尚可用",
|
||||
"系统提示:已经发送过,验证码尚可用": "系統提示:已經發送過,驗證碼尚可用",
|
||||
"账号或密码错误": "帳號或密碼錯誤",
|
||||
"账号或验证码错误": "帳號或驗證碼錯誤",
|
||||
"账号已存在": "帳號已存在",
|
||||
"没有找到数据": "沒有找到數據",
|
||||
"已经发送过,验证码尚可用": "已經發送過,驗證碼尚可用",
|
||||
"系统提示:已经发送过,验证码尚可用": "系統提示:已經發送過,驗證碼尚可用",
|
||||
"您的手机号当天发送次数过多,请联系管理员通过密码登录": "您的手機號當天發送次數過多,請聯繫管理員通過密碼登錄",
|
||||
"您的手机号验证码错误,请确认之后注册": "您的手機號驗證碼錯誤,請確認之後註冊",
|
||||
"手机号不合法": "手機號不合法",
|
||||
"手机号未更改": "手機號未更改",
|
||||
"新手机号过期": "新手機號過期",
|
||||
"验证码错误": "驗證碼錯誤",
|
||||
"验证码未发送": "驗證碼未發送",
|
||||
"账号不存在": "帳號不存在",
|
||||
"已实名": "已實名",
|
||||
"实名审核中,请勿重复提交": "實名審核中,請勿重複提交",
|
||||
"用户状态异常,无法进行审核": "用戶狀態異常,無法進行審核",
|
||||
"验证码已失效": "驗證碼已失效",
|
||||
"服务器错误": "服務器錯誤",
|
||||
"验证失败,请控制拼图对齐缺口": "驗證失敗,請控制拼圖對齊缺口",
|
||||
"滑块验证状态不存在,请退出重试": "滑塊驗證狀態不存在,請退出重試",
|
||||
"您的手机号验证码错误,请确认之后注册": "您的手機號驗證碼錯誤,請確認之後註冊",
|
||||
"手机号不合法": "手機號不合法",
|
||||
"手机号未更改": "手機號未更改",
|
||||
"新手机号过期": "新手機號過期",
|
||||
"验证码错误": "驗證碼錯誤",
|
||||
"验证码未发送": "驗證碼未發送",
|
||||
"账号不存在": "帳號不存在",
|
||||
"已实名": "已實名",
|
||||
"实名审核中,请勿重复提交": "實名審核中,請勿重複提交",
|
||||
"用户状态异常,无法进行审核": "用戶狀態異常,無法進行審核",
|
||||
"验证码已失效": "驗證碼已失效",
|
||||
"服务器错误": "服務器錯誤",
|
||||
"验证失败,请控制拼图对齐缺口": "驗證失敗,請控制拼圖對齊缺口",
|
||||
"滑块验证状态不存在,请退出重试": "滑塊驗證狀態不存在,請退出重試",
|
||||
|
||||
"语言不能为空": "語言不能為空",
|
||||
"排序参数需为正整数": "排序參數需為正整數",
|
||||
"请先创建中文版本套餐": "請先建立中文版本套餐",
|
||||
"增值服务不存在": "增值服務不存在",
|
||||
"语言不能为空": "語言不能為空",
|
||||
"排序参数需为正整数": "排序參數需為正整數",
|
||||
"请先创建中文版本套餐": "請先建立中文版本套餐",
|
||||
"增值服务不存在": "增值服務不存在",
|
||||
"所选增值服务币种与套餐币种不一致": "所選增值服務幣種與套餐幣種不一致",
|
||||
"文件转换失败": "文件轉換失敗",
|
||||
"每种增值服务类型只可选择一个": "每種增值服務類型只可選擇一個",
|
||||
"保存套餐与增值服务关联失败": "保存套餐與增值服務關聯失敗",
|
||||
"删除套餐与增值服务关联失败": "刪除套餐與增值服務關聯失敗",
|
||||
"查询套餐与增值服务关联失败": "查詢套餐與增值服務關聯失敗",
|
||||
"更新套餐与增值服务关联失败": "更新套餐與增值服務關聯失敗",
|
||||
"查询增值服务失败": "查詢增值服務失敗",
|
||||
"更新套餐状态失败": "更新套餐狀態失敗",
|
||||
"查询增值服务详情失败": "查詢增值服務詳情失敗",
|
||||
"序列化转换失败": "序列化轉換失敗",
|
||||
"保存套餐历史记录失败": "保存套餐歷史記錄失敗",
|
||||
"原价不能为空": "原價不能為空",
|
||||
"原价格式转换失败": "原價格式轉換失敗",
|
||||
"数量参数需为0-99": "數量參數需為0-99",
|
||||
"优惠单价需小于等于原价": "優惠單價需小於等於原價",
|
||||
"请先创建中文版本增值服务": "請先建立中文版本增值服務",
|
||||
"保存增值服务失败": "保存增值服務失敗",
|
||||
"保存增值服务历史记录失败": "保存增值服務歷史記錄失敗",
|
||||
"更新增值服务失败": "更新增值服務失敗",
|
||||
"查询增值服务列表失败": "查詢增值服務列表失敗",
|
||||
"计算价格失败": "計算價格失敗",
|
||||
"更新成功": "更新成功",
|
||||
"保存成功": "儲存成功",
|
||||
"优惠单价转换失败": "優惠單價轉換失敗",
|
||||
"符号错误": "符號錯誤",
|
||||
"条件存在冲突,请重新设置": "條件存在衝突,請重新設定",
|
||||
"文件转换失败": "文件轉換失敗",
|
||||
"每种增值服务类型只可选择一个": "每種增值服務類型只可選擇一個",
|
||||
"保存套餐与增值服务关联失败": "保存套餐與增值服務關聯失敗",
|
||||
"删除套餐与增值服务关联失败": "刪除套餐與增值服務關聯失敗",
|
||||
"查询套餐与增值服务关联失败": "查詢套餐與增值服務關聯失敗",
|
||||
"更新套餐与增值服务关联失败": "更新套餐與增值服務關聯失敗",
|
||||
"查询增值服务失败": "查詢增值服務失敗",
|
||||
"更新套餐状态失败": "更新套餐狀態失敗",
|
||||
"查询增值服务详情失败": "查詢增值服務詳情失敗",
|
||||
"序列化转换失败": "序列化轉換失敗",
|
||||
"保存套餐历史记录失败": "保存套餐歷史記錄失敗",
|
||||
"原价不能为空": "原價不能為空",
|
||||
"原价格式转换失败": "原價格式轉換失敗",
|
||||
"数量参数需为0-99": "數量參數需為0-99",
|
||||
"优惠单价需小于等于原价": "優惠單價需小於等於原價",
|
||||
"请先创建中文版本增值服务": "請先建立中文版本增值服務",
|
||||
"保存增值服务失败": "保存增值服務失敗",
|
||||
"保存增值服务历史记录失败": "保存增值服務歷史記錄失敗",
|
||||
"更新增值服务失败": "更新增值服務失敗",
|
||||
"查询增值服务列表失败": "查詢增值服務列表失敗",
|
||||
"计算价格失败": "計算價格失敗",
|
||||
"更新成功": "更新成功",
|
||||
"保存成功": "儲存成功",
|
||||
"优惠单价转换失败": "優惠單價轉換失敗",
|
||||
"符号错误": "符號錯誤",
|
||||
"条件存在冲突,请重新设置": "條件存在衝突,請重新設定",
|
||||
"币种已修改,已取消关联部分增值服务": "幣種已修改,已取消關聯部分增值服務",
|
||||
"币种已修改,已取消关联部分套餐": "幣種已修改,已取消關聯部分套餐",
|
||||
"新增增值服务成功": "新增增值服務成功",
|
||||
"状态值无效": "狀態值無效",
|
||||
"套餐已上架,请勿重复操作": "套餐已上架,請勿重複操作",
|
||||
"套餐已下架,请勿重复操作": "套餐已下架,請勿重複操作",
|
||||
"请先实名": "請先實名",
|
||||
"实名审核中": "實名審覈中",
|
||||
"实名审核失败": "實名審覈失敗",
|
||||
"未知实名状态": "未知實名狀態",
|
||||
"已存在标题相同的数据": "已存在標題相同的數據",
|
||||
"展示数量不能超过5个": "展示數量不能超過5個",
|
||||
"查询失败": "查詢失敗",
|
||||
"操作失败": "操作失敗",
|
||||
"币种已修改,已取消关联部分套餐": "幣種已修改,已取消關聯部分套餐",
|
||||
"新增增值服务成功": "新增增值服務成功",
|
||||
"状态值无效": "狀態值無效",
|
||||
"套餐已上架,请勿重复操作": "套餐已上架,請勿重複操作",
|
||||
"套餐已下架,请勿重复操作": "套餐已下架,請勿重複操作",
|
||||
"请先实名": "請先實名",
|
||||
"实名审核中": "實名審覈中",
|
||||
"实名审核失败": "實名審覈失敗",
|
||||
"未知实名状态": "未知實名狀態",
|
||||
"已存在标题相同的数据": "已存在標題相同的數據",
|
||||
"展示数量不能超过5个": "展示數量不能超過5個",
|
||||
"查询失败": "查詢失敗",
|
||||
"操作失败": "操作失敗",
|
||||
|
||||
"参数缺失": "參數缺失",
|
||||
"创建失败": "創建失敗",
|
||||
"更新失败": "更新失敗",
|
||||
"删除失败": "刪除失敗",
|
||||
"参数缺失": "參數缺失",
|
||||
"创建失败": "創建失敗",
|
||||
"更新失败": "更新失敗",
|
||||
"删除失败": "刪除失敗",
|
||||
"更新状态失败": "更新狀態失敗",
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -161,7 +161,6 @@ func CheckWebLogin(provider *account.AccountClientImpl) gin.HandlerFunc {
|
||||
Domain: info.Domain,
|
||||
ID: info.ID,
|
||||
Name: info.NickName,
|
||||
//Account: info.Account,
|
||||
//NickName: info.NickName,
|
||||
//PositionUsers: qres.PositionUsers,
|
||||
//Extend: infoRes.Info.Extend,
|
||||
|
@ -44,7 +44,7 @@ func BundleOrderRouter(r *gin.RouterGroup) {
|
||||
bundleOrderAppRoute := bundleOrderRoute.Group("app")
|
||||
{
|
||||
bundleOrderAppRoute.POST("order-signature", bundle.CreateBundleOrderSignature)
|
||||
bundleOrderAppRoute.POST("order-add-signature", bundle.CreateBundleOrderAddSignature)
|
||||
//bundleOrderAppRoute.POST("order-add-signature", bundle.CreateBundleOrderAddSignature)
|
||||
bundleOrderAppRoute.POST("order-del", bundle.DeleteBundleOrder)
|
||||
bundleOrderAppRoute.POST("update-pay", bundle.UpdateBundleOrderStatusPaid)
|
||||
bundleOrderAppRoute.POST("order-detail", bundle.OrderRecordsDetail)
|
||||
|
@ -51,6 +51,7 @@ func NewRouter() *gin.Engine {
|
||||
BundleRouter(privateGroup)
|
||||
BundleOrderRouter(privateGroup)
|
||||
ValueAddBundleRouter(privateGroup)
|
||||
TaskBenchRouter(privateGroup) // 新增任务台路由
|
||||
MediaRouter(privateGroup)
|
||||
SecFilingRouter(privateGroup)
|
||||
app.MediaAppRouter(privateGroup)
|
||||
|
58
pkg/router/taskBench.go
Normal file
58
pkg/router/taskBench.go
Normal file
@ -0,0 +1,58 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"fonchain-fiee/pkg/middleware"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/taskbench"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// TaskBenchRouter 任务台路由
|
||||
func TaskBenchRouter(r *gin.RouterGroup) {
|
||||
// 创建任务台路由组
|
||||
taskBenchRoute := r.Group("task-bench")
|
||||
// 使用Web登录中间件进行权限验证
|
||||
taskBenchRoute.Use(middleware.CheckWebLogin(service.AccountProvider))
|
||||
// 任务台管理
|
||||
{
|
||||
// 查询待指派任务记录
|
||||
taskBenchRoute.POST("pending-task-list", taskbench.GetPendingTaskList)
|
||||
|
||||
// 指派某位员工完成某个艺人的任务
|
||||
taskBenchRoute.POST("assign-task", taskbench.AssignTask)
|
||||
|
||||
// 修改待发数量
|
||||
taskBenchRoute.POST("update-pending-count", taskbench.UpdatePendingCount)
|
||||
|
||||
// 查询最近被指派记录
|
||||
taskBenchRoute.POST("recent-assign-records", taskbench.GetRecentAssignRecords)
|
||||
|
||||
// 多条件查询操作记录表
|
||||
taskBenchRoute.POST("task-assign-records-list", taskbench.GetTaskAssignRecordsList)
|
||||
|
||||
// 员工完成图片作品任务(带任务UUID)
|
||||
taskBenchRoute.POST("update-work-image-with-task-uuid", taskbench.UpdateWorkImageWithTaskUUID)
|
||||
|
||||
// 员工完成视频作品任务(带任务UUID)
|
||||
taskBenchRoute.POST("update-work-video-with-task-uuid", taskbench.UpdateWorkVideoWithUUID)
|
||||
|
||||
// 根据登录人信息查询被指派给该员工的任务
|
||||
taskBenchRoute.POST("assigned-tasks", taskbench.GetEmployeeAssignedTasks)
|
||||
|
||||
// 员工手动点击完成任务
|
||||
taskBenchRoute.POST("complete-manually", taskbench.CompleteTaskManually)
|
||||
|
||||
// 查询艺人套餐剩余数量
|
||||
taskBenchRoute.POST("artist-bundle-balance", taskbench.GetArtistBundleBalance)
|
||||
}
|
||||
|
||||
// 员工任务相关路由(需要App登录验证)
|
||||
taskBenchAppRoute := r.Group("task-bench")
|
||||
taskBenchAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider))
|
||||
|
||||
{
|
||||
// 员工实际完成任务状态更新
|
||||
taskBenchAppRoute.POST("update-progress", taskbench.UpdateTaskProgress)
|
||||
}
|
||||
}
|
@ -134,6 +134,9 @@ func (cr ChatHandler) NewMessage(c *gin.Context) {
|
||||
service.ErrWithCode(c, code)
|
||||
return
|
||||
}
|
||||
if request.LocalStamp == 0 {
|
||||
request.LocalStamp = time.Now().Unix()
|
||||
}
|
||||
err := logic.NewMessage(c, &cr.cache, chatUser, request)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
@ -260,8 +263,9 @@ func (cr ChatHandler) MessageList(c *gin.Context) {
|
||||
// return
|
||||
// }
|
||||
//}
|
||||
messages := cr.cache.GetChatRecord(request.SessionId)
|
||||
//messages := []*accountFiee.ChatRecordData{}
|
||||
// 启用或禁用缓存
|
||||
//messages := cr.cache.GetChatRecord(request.SessionId)
|
||||
messages := []*accountFiee.ChatRecordData{}
|
||||
var returnDataIdList = make([]int64, 0)
|
||||
defer func() {
|
||||
//获取最新数据时,重置新消息数量统计
|
||||
@ -277,6 +281,7 @@ func (cr ChatHandler) MessageList(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Println("defer CoverChatRecord , message len:", len(messages))
|
||||
err := cr.cache.CoverChatRecord(request.SessionId, messages)
|
||||
if err != nil {
|
||||
log.Print("设置消息已读失败", zap.Error(err))
|
||||
@ -302,6 +307,7 @@ func (cr ChatHandler) MessageList(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
messages = recordResp.List
|
||||
fmt.Println("GetChatRecordList len:", len(messages))
|
||||
err = cr.cache.CoverChatRecord(request.SessionId, messages)
|
||||
if err != nil {
|
||||
log.Print("覆盖聊天记录失败", zap.Error(err))
|
||||
@ -332,7 +338,7 @@ func (cr ChatHandler) MessageList(c *gin.Context) {
|
||||
return messages[i].ID > messages[j].ID
|
||||
}
|
||||
})
|
||||
fmt.Printf("data is %+v\n", messages)
|
||||
//fmt.Printf("data is %+v\n", messages)
|
||||
total := 0
|
||||
for i, message := range messages {
|
||||
switch request.Direction {
|
||||
@ -367,8 +373,6 @@ func (cr ChatHandler) MessageList(c *gin.Context) {
|
||||
resp[i].Message.Media = []dto.MessageMedia{}
|
||||
}
|
||||
}
|
||||
if accessUser.Role == 1 {
|
||||
}
|
||||
service.Success(c, resp)
|
||||
}
|
||||
|
||||
@ -630,13 +634,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 +656,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 {
|
||||
|
@ -42,6 +42,7 @@ func NewMessage(ctx context.Context, cache *chatCache.ChatCache, sender *account
|
||||
fmt.Println(request.LocalStamp - msgRecord.LocalStamp)
|
||||
if msgRecord.Message.Text == request.Message.Text && request.LocalStamp-msgRecord.LocalStamp < 1 { //秒级
|
||||
cacheMap[request.AtUserId] = request
|
||||
fmt.Println("\n\n跳过消息发送\n\t跳过消息发送\n\t\t跳过消息发送\n\n")
|
||||
return nil
|
||||
} else {
|
||||
cacheMap[request.AtUserId] = request
|
||||
@ -105,6 +106,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))
|
||||
}
|
||||
|
@ -177,10 +177,12 @@ func (r *Robot) Run() {
|
||||
if hit {
|
||||
hasHit = true
|
||||
if rule.RunTime().IsZero() {
|
||||
err := rule.Run(r.cache)
|
||||
if err != nil {
|
||||
log.Printf("robot 执行任务失败:%v\n", err)
|
||||
}
|
||||
go func() {
|
||||
err := rule.Run(r.cache)
|
||||
if err != nil {
|
||||
log.Printf("robot 执行任务失败:%v\n", err)
|
||||
}
|
||||
}()
|
||||
} else {
|
||||
r.RegisterDelayTask(rule)
|
||||
}
|
||||
|
@ -27,6 +27,12 @@ func NewReplyWhenHitKeywords(title string, keywords []string) IRobotTask {
|
||||
return &RobotTaskWithKeyworkds{title: title, keywords: keywords}
|
||||
}
|
||||
func (r *RobotTaskWithKeyworkds) Hit(event ws.ListenEventData, sender *accountFiee.ChatUserData) (hit bool) {
|
||||
//fmt.Printf("event.EventType != ws.EventChatMessage:%v\n", event.EventType != ws.EventChatMessage)
|
||||
//fmt.Printf("event.Msg: %v\n", event.Msg == "")
|
||||
//fmt.Printf("event.Client == nil: %v\n", event.Client == nil)
|
||||
//fmt.Printf("event.ChatUser == nil: %v\n", event.ChatUser == nil)
|
||||
//fmt.Printf("event.ChatUser.Role != 1: %v\n", event.ChatUser.Role != 1)
|
||||
//fmt.Printf("r.keywords: %+v\n", r.keywords)
|
||||
if event.EventType != ws.EventChatMessage || event.Msg == "" || event.Client == nil || event.ChatUser == nil {
|
||||
return
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import (
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
bundleModel "fonchain-fiee/pkg/model/bundle"
|
||||
@ -157,7 +158,7 @@ func WorkConfirm(c *gin.Context) { // 确认作品并扣除余量
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Print("req.ConfirmRemark:", req.ConfirmRemark)
|
||||
if req.ConfirmStatus == 2 { // 驳回完直接结束
|
||||
res, err := service.CastProvider.UpdateStatus(c, &cast.UpdateStatusReq{
|
||||
WorkAction: cast.WorkActionENUM_CONFIRM,
|
||||
|
@ -193,161 +193,69 @@ func calculateExpirationDate(startDate time.Time, num int32, unit string) string
|
||||
}
|
||||
func CreateBundleOrderSignature(c *gin.Context) {
|
||||
var req bundle.OrderCreateRecord
|
||||
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
if req.BundleUuid == "" {
|
||||
service.Error(c, errors.New(common.MissBundleUUID))
|
||||
// 参数校验
|
||||
if err := logic.ValidateRequest(c, &req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
if req.Language == "" {
|
||||
req.Language = c.GetHeader("Accept-Language")
|
||||
if req.Language == "" {
|
||||
service.Error(c, errors.New(common.MissLanguageTypes))
|
||||
return
|
||||
}
|
||||
}
|
||||
// 不去校验 签名
|
||||
/*if req.Signature == "" {
|
||||
service.Error(c, errors.New(common.MissOrderSignature))
|
||||
return
|
||||
}*/
|
||||
statusMessages := map[int32]string{
|
||||
1: common.Unnamed,
|
||||
2: common.UnderReview,
|
||||
3: common.ReviewFailed,
|
||||
}
|
||||
// 获取 用户信息
|
||||
|
||||
// 获取用户信息并校验状态
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
if userInfo.Status != 4 {
|
||||
if msg, exists := statusMessages[userInfo.Status]; exists {
|
||||
service.Error(c, errors.New(msg))
|
||||
return
|
||||
} else {
|
||||
service.Error(c, errors.New(common.UnknownStatus))
|
||||
return
|
||||
}
|
||||
}
|
||||
// 校验 当前用户只能买一次套餐
|
||||
orderRecordsListReq := bundle.OrderRecordsRequest{
|
||||
CustomerID: strconv.FormatUint(userInfo.ID, 10),
|
||||
}
|
||||
orderRecordsList, orderRecordsListErr := service.BundleProvider.OrderRecordsList(context.Background(), &orderRecordsListReq)
|
||||
if orderRecordsListErr != nil {
|
||||
service.Error(c, orderRecordsListErr)
|
||||
if err := logic.ValidateUserStatus(userInfo); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
//有套餐并且套餐未过期
|
||||
if orderRecordsList.OrderRecords != nil {
|
||||
for _, orderInfo := range orderRecordsList.OrderRecords {
|
||||
if orderInfo.CustomerID == strconv.FormatUint(userInfo.ID, 10) && orderInfo.Status == 1 {
|
||||
service.Error(c, errors.New(common.ThereAreOutstandingOrders))
|
||||
return
|
||||
}
|
||||
if orderInfo.CustomerID == strconv.FormatUint(userInfo.ID, 10) && orderInfo.ExpirationTime > time.Now().Format("2006-01-02 15:04:05") {
|
||||
service.Error(c, errors.New(common.HadOrder))
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 获取 最后一次的 合同编号
|
||||
lastOrderRecord, lastOrderRecordErr := service.BundleProvider.OrderRecordsList(context.Background(), &bundle.OrderRecordsRequest{
|
||||
PageSize: 1,
|
||||
Page: 1,
|
||||
})
|
||||
// 校验套餐是否已购买
|
||||
if err := logic.CheckUserOrder(userInfo.ID); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
if lastOrderRecordErr != nil {
|
||||
service.Error(c, lastOrderRecordErr)
|
||||
// 获取最后一次合同编号
|
||||
lastContractNo, err := logic.GetLastContractNo()
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
lastContractNo := ""
|
||||
if lastOrderRecord.OrderRecords != nil {
|
||||
for _, lastOrder := range lastOrderRecord.OrderRecords {
|
||||
lastContractNo = lastOrder.ContractNo
|
||||
}
|
||||
}
|
||||
// 获取 套餐信息
|
||||
bundleDetailReq := &bundle.BundleDetailRequest{
|
||||
Uuid: req.BundleUuid,
|
||||
Language: req.Language,
|
||||
}
|
||||
bundleDetail, detailErr := service.BundleProvider.BundleLangDetailV2(context.Background(), bundleDetailReq)
|
||||
if detailErr != nil {
|
||||
service.Error(c, detailErr)
|
||||
return
|
||||
}
|
||||
//获取过期时间和增值服务金额
|
||||
var addRecords []*bundle.OrderCreateAddRecord
|
||||
var addTotalPrice float32
|
||||
var expirationDay string
|
||||
for _, i := range req.AddRecords {
|
||||
price, err := service.BundleProvider.CalculatePrice(context.Background(), &bundle.CalculatePriceRequest{
|
||||
Uuid: i.ValueUid,
|
||||
Num: i.Num,
|
||||
Language: req.Language,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
addTotalPrice += price.Price
|
||||
addService, err := service.BundleProvider.ValueAddServiceLangByUuidAndLanguage(context.Background(), &bundle.ValueAddServiceDetailRequest{
|
||||
Uuid: i.ValueUid,
|
||||
Language: req.Language,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
addRecords = append(addRecords, &bundle.OrderCreateAddRecord{
|
||||
ServiceType: addService.ServiceType,
|
||||
ValueUid: i.ValueUid,
|
||||
CurrencyType: addService.PriceType,
|
||||
Amount: price.Price,
|
||||
Num: i.Num,
|
||||
Unit: addService.Unit,
|
||||
Source: 1,
|
||||
PaymentStatus: 1,
|
||||
})
|
||||
//服务类型为时长 计算
|
||||
if addService.ServiceType == 5 {
|
||||
expirationDay = calculateExpirationDate(time.Now(), i.Num, addService.Unit)
|
||||
} else {
|
||||
expirationDay = time.Now().AddDate(0, 0, 7).Format("2006-01-02")
|
||||
}
|
||||
}
|
||||
// 当前 未将 签名 写入合同中 todo 金额和有效时间待修改
|
||||
signContract, signContractErr := logic.SignContractV2(req.CustomerNum, bundleDetail.Contract, bundleDetail.Price+addTotalPrice, expirationDay)
|
||||
if signContractErr != nil {
|
||||
service.Error(c, signContractErr)
|
||||
return
|
||||
}
|
||||
req.CustomerNum = userInfo.SubNum
|
||||
req.CustomerName = userInfo.Name
|
||||
req.CustomerID = strconv.FormatUint(userInfo.ID, 10)
|
||||
req.BundleName = bundleDetail.Name
|
||||
req.Amount = bundleDetail.Price
|
||||
req.AmountType = bundleDetail.PriceType
|
||||
//req.BundleCommonUid = bundleDetail.BundleCommonUid
|
||||
req.TotalAmount = bundleDetail.Price + addTotalPrice
|
||||
req.ContractNo = common.GenerateContractNo(lastContractNo)
|
||||
req.SignContract = signContract
|
||||
req.SignedTime = common.GetBeijingTime()
|
||||
req.Status = bundleModel.OrderSigned
|
||||
req.AddRecords = addRecords
|
||||
//req.ExpirationTime = expirationDay //过期日期取消 在完成支付是更新
|
||||
req.PayType = 1
|
||||
|
||||
// 获取套餐详情
|
||||
bundleDetail, err := logic.GetBundleDetail(req.BundleUuid, req.Language)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 组装服务内容(套餐权益 + 附加权益)
|
||||
addRecords, addTotalPrice, expirationDay, err := logic.BuildServiceRecords(&req, bundleDetail)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 签合同(金额 + 有效期)
|
||||
signContract, err := logic.SignContractV2(req.CustomerNum, bundleDetail.Contract, bundleDetail.Price+addTotalPrice, expirationDay)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 组装订单信息
|
||||
req = logic.BuildOrderRequest(req, userInfo, bundleDetail, addRecords, addTotalPrice, lastContractNo, signContract)
|
||||
|
||||
// 创建订单
|
||||
res, err := service.BundleProvider.CreateOrderRecord(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
service.Success(c, res)
|
||||
return
|
||||
}
|
||||
|
||||
func UpdateBundleOrderStatusPaid(c *gin.Context) {
|
||||
|
@ -113,7 +113,6 @@ func BundleListV2(c *gin.Context) {
|
||||
}
|
||||
func BundleDetailV2(c *gin.Context) {
|
||||
var req bundle.BundleDetailRequest
|
||||
|
||||
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
|
@ -50,6 +50,10 @@ const (
|
||||
ReviewFailed = "实名审核失败"
|
||||
UnknownStatus = "未知实名状态"
|
||||
)
|
||||
const (
|
||||
UnknownAddServiceUUID = "未知增值服务"
|
||||
BundleUnBindingAddService = "套餐未绑定增值服务"
|
||||
)
|
||||
|
||||
/*var EnMessages = map[string]string{
|
||||
"创建套餐信息失败": "Failed to create bundle information",
|
||||
|
211
pkg/service/bundle/logic/bundleOrder.go
Normal file
211
pkg/service/bundle/logic/bundleOrder.go
Normal file
@ -0,0 +1,211 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
"fonchain-fiee/pkg/service/bundle/common"
|
||||
bundleModel "fonchain-fiee/pkg/service/bundle/model"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 校验参数
|
||||
func ValidateRequest(c *gin.Context, req *bundle.OrderCreateRecord) error {
|
||||
if req.BundleUuid == "" {
|
||||
return errors.New(common.MissBundleUUID)
|
||||
}
|
||||
if req.Language == "" {
|
||||
req.Language = c.GetHeader("Accept-Language")
|
||||
if req.Language == "" {
|
||||
return errors.New(common.MissLanguageTypes)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 校验用户状态
|
||||
func ValidateUserStatus(userInfo login.Info) error {
|
||||
statusMessages := map[int32]string{
|
||||
1: common.Unnamed,
|
||||
2: common.UnderReview,
|
||||
3: common.ReviewFailed,
|
||||
}
|
||||
if userInfo.Status != 4 {
|
||||
if msg, ok := statusMessages[userInfo.Status]; ok {
|
||||
return errors.New(msg)
|
||||
}
|
||||
return errors.New(common.UnknownStatus)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 校验用户是否已有套餐
|
||||
func CheckUserOrder(userID uint64) error {
|
||||
req := bundle.OrderRecordsRequest{CustomerID: strconv.FormatUint(userID, 10)}
|
||||
records, err := service.BundleProvider.OrderRecordsList(context.Background(), &req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, order := range records.OrderRecords {
|
||||
if order.CustomerID == strconv.FormatUint(userID, 10) && order.Status == 1 {
|
||||
return errors.New(common.ThereAreOutstandingOrders)
|
||||
}
|
||||
if order.CustomerID == strconv.FormatUint(userID, 10) && order.ExpirationTime > time.Now().Format("2006-01-02 15:04:05") {
|
||||
return errors.New(common.HadOrder)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取最后一次合同编号
|
||||
func GetLastContractNo() (string, error) {
|
||||
records, err := service.BundleProvider.OrderRecordsList(context.Background(), &bundle.OrderRecordsRequest{
|
||||
PageSize: 1,
|
||||
Page: 1,
|
||||
})
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if len(records.OrderRecords) > 0 {
|
||||
return records.OrderRecords[0].ContractNo, nil
|
||||
}
|
||||
return "", nil
|
||||
}
|
||||
|
||||
// 获取套餐详情
|
||||
func GetBundleDetail(uuid, lang string) (*bundle.BundleProfileLang, error) {
|
||||
return service.BundleProvider.BundleLangDetailV2(context.Background(), &bundle.BundleDetailRequest{
|
||||
Uuid: uuid,
|
||||
Language: lang,
|
||||
})
|
||||
}
|
||||
|
||||
// 组装服务内容(套餐权益和附加权益)
|
||||
func BuildServiceRecords(req *bundle.OrderCreateRecord, bundleDetail *bundle.BundleProfileLang) ([]*bundle.OrderCreateAddRecord, float32, string, error) {
|
||||
var (
|
||||
addRecords []*bundle.OrderCreateAddRecord
|
||||
addTotalPrice float32
|
||||
expirationDay string
|
||||
addUidService = make(map[string]bool)
|
||||
bundleUidService = make(map[string]bool)
|
||||
)
|
||||
|
||||
// 分类权益
|
||||
for _, i := range bundleDetail.ServiceLangInfo {
|
||||
switch i.BenefitsType {
|
||||
case 1:
|
||||
bundleUidService[i.ValueAddUuid] = true
|
||||
case 2:
|
||||
addUidService[i.ValueAddUuid] = true
|
||||
}
|
||||
}
|
||||
if len(bundleUidService) == 0 {
|
||||
return nil, 0, "", errors.New(common.BundleUnBindingAddService)
|
||||
}
|
||||
|
||||
// 附加权益
|
||||
for _, i := range req.AddRecords {
|
||||
if !addUidService[i.ValueUid] {
|
||||
return nil, 0, "", errors.New(common.UnknownAddServiceUUID)
|
||||
}
|
||||
price, err := service.BundleProvider.CalculatePrice(context.Background(), &bundle.CalculatePriceRequest{
|
||||
Uuid: i.ValueUid,
|
||||
Num: i.Num,
|
||||
Language: req.Language,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, 0, "", err
|
||||
}
|
||||
addTotalPrice += price.Price
|
||||
|
||||
addService, err := service.BundleProvider.ValueAddServiceLangByUuidAndLanguage(context.Background(),
|
||||
&bundle.ValueAddServiceDetailRequest{Uuid: i.ValueUid, Language: req.Language})
|
||||
if err != nil {
|
||||
return nil, 0, "", err
|
||||
}
|
||||
addRecords = append(addRecords, buildAddRecord(addService, i.ValueUid, price.Price, i.Num, 2))
|
||||
}
|
||||
|
||||
// 套餐权益
|
||||
for uid := range bundleUidService {
|
||||
addService, err := service.BundleProvider.ValueAddServiceLangByUuidAndLanguage(context.Background(),
|
||||
&bundle.ValueAddServiceDetailRequest{Uuid: uid, Language: req.Language})
|
||||
if err != nil {
|
||||
return nil, 0, "", err
|
||||
}
|
||||
var num int32
|
||||
for _, s := range addService.Options {
|
||||
if s.IsDefault {
|
||||
num = s.Num
|
||||
break
|
||||
}
|
||||
}
|
||||
addRecords = append(addRecords, buildAddRecord(addService, uid, 0, num, 1))
|
||||
|
||||
// 计算到期时间
|
||||
if addService.ServiceType == 5 {
|
||||
expirationDay = calculateExpirationDate(time.Now(), num, addService.Unit)
|
||||
} else {
|
||||
expirationDay = time.Now().AddDate(0, 0, 7).Format("2006-01-02")
|
||||
}
|
||||
}
|
||||
|
||||
return addRecords, addTotalPrice, expirationDay, nil
|
||||
}
|
||||
|
||||
// 构建单条服务记录
|
||||
func buildAddRecord(addService *bundle.ValueAddServiceLang, uid string, price float32, num int32, equityType int32) *bundle.OrderCreateAddRecord {
|
||||
return &bundle.OrderCreateAddRecord{
|
||||
ServiceType: addService.ServiceType,
|
||||
ValueUid: uid,
|
||||
CurrencyType: addService.PriceType,
|
||||
Amount: price,
|
||||
Num: num,
|
||||
Unit: addService.Unit,
|
||||
Source: 1,
|
||||
PaymentStatus: 1,
|
||||
EquityType: equityType,
|
||||
QuotaType: addService.QuotaType,
|
||||
QuotaValue: addService.QuotaValue,
|
||||
IsExpired: addService.IsExpired,
|
||||
}
|
||||
}
|
||||
|
||||
// 组装订单请求
|
||||
func BuildOrderRequest(req bundle.OrderCreateRecord, userInfo login.Info,
|
||||
bundleDetail *bundle.BundleProfileLang, addRecords []*bundle.OrderCreateAddRecord,
|
||||
addTotalPrice float32, lastContractNo, signContract string) bundle.OrderCreateRecord {
|
||||
|
||||
req.CustomerNum = userInfo.SubNum
|
||||
req.CustomerName = userInfo.Name
|
||||
req.CustomerID = strconv.FormatUint(userInfo.ID, 10)
|
||||
req.BundleName = bundleDetail.Name
|
||||
req.Amount = bundleDetail.Price
|
||||
req.AmountType = bundleDetail.PriceType
|
||||
req.TotalAmount = bundleDetail.Price + addTotalPrice
|
||||
req.ContractNo = common.GenerateContractNo(lastContractNo)
|
||||
req.SignContract = signContract
|
||||
req.SignedTime = common.GetBeijingTime()
|
||||
req.Status = bundleModel.OrderSigned
|
||||
req.AddRecords = addRecords
|
||||
req.PayType = 1
|
||||
return req
|
||||
}
|
||||
func calculateExpirationDate(startDate time.Time, num int32, unit string) string {
|
||||
//now := time.Now()
|
||||
switch unit {
|
||||
case "天":
|
||||
return startDate.AddDate(0, 0, int(num)).Format("2006-01-02")
|
||||
case "月":
|
||||
return startDate.AddDate(0, int(num), 0).Format("2006-01-02")
|
||||
case "年":
|
||||
return startDate.AddDate(int(num), 0, 0).Format("2006-01-02")
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
@ -6,12 +6,13 @@ import (
|
||||
"fonchain-fiee/pkg/model"
|
||||
"fonchain-fiee/pkg/service/bundle/common"
|
||||
"fonchain-fiee/pkg/service/upload"
|
||||
"github.com/signintech/gopdf"
|
||||
"go.uber.org/zap"
|
||||
"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) {
|
||||
|
@ -57,6 +57,25 @@ func UpdateWorkImage(ctx *gin.Context) {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 更新任务台的任务数量,调用员工实际任务状态更新
|
||||
if service.BundleProvider != nil {
|
||||
resp1, err := service.BundleProvider.UpdateTaskProgress(context.Background(), &bundle.UpdateTaskProgressRequest{
|
||||
AssignRecordsUUID: "",
|
||||
EmployeeName: infoResp.Name,
|
||||
EmployeeNum: infoResp.TelNum,
|
||||
TaskType: "post",
|
||||
CompleteCount: 1,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("UpdateTaskProgress failed", zap.Error(err))
|
||||
// 不直接返回错误,允许主要功能继续执行
|
||||
} else {
|
||||
zap.L().Info("UpdateTaskProgress", zap.Any("resp", resp1))
|
||||
}
|
||||
} else {
|
||||
zap.L().Warn("BundleProvider is nil, skipping UpdateTaskProgress")
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
@ -101,6 +120,25 @@ func UpdateWorkVideo(ctx *gin.Context) {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 更新任务台的任务数量,调用员工实际任务状态更新
|
||||
if service.BundleProvider != nil {
|
||||
resp1, err := service.BundleProvider.UpdateTaskProgress(context.Background(), &bundle.UpdateTaskProgressRequest{
|
||||
AssignRecordsUUID: "",
|
||||
EmployeeName: infoResp.Name,
|
||||
EmployeeNum: infoResp.TelNum,
|
||||
TaskType: "video",
|
||||
CompleteCount: 1,
|
||||
})
|
||||
if err != nil {
|
||||
zap.L().Error("UpdateTaskProgress failed", zap.Error(err))
|
||||
// 不直接返回错误,允许主要功能继续执行
|
||||
} else {
|
||||
zap.L().Info("UpdateTaskProgress", zap.Any("resp", resp1))
|
||||
}
|
||||
} else {
|
||||
zap.L().Warn("BundleProvider is nil, skipping UpdateTaskProgress")
|
||||
}
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"dubbo.apache.org/dubbo-go/v3/common/constant"
|
||||
"dubbo.apache.org/dubbo-go/v3/config"
|
||||
_ "dubbo.apache.org/dubbo-go/v3/imports"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/account"
|
||||
"fonchain-fiee/api/accountFiee"
|
||||
@ -14,10 +17,6 @@ import (
|
||||
"fonchain-fiee/api/secFilings"
|
||||
pkConfig "fonchain-fiee/pkg/config"
|
||||
"os"
|
||||
|
||||
"dubbo.apache.org/dubbo-go/v3/common/constant"
|
||||
"dubbo.apache.org/dubbo-go/v3/config"
|
||||
_ "dubbo.apache.org/dubbo-go/v3/imports"
|
||||
)
|
||||
|
||||
var AccountProvider = new(account.AccountClientImpl)
|
||||
|
308
pkg/service/taskbench/taskBench.go
Normal file
308
pkg/service/taskbench/taskBench.go
Normal file
@ -0,0 +1,308 @@
|
||||
package taskbench
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"fonchain-fiee/api/accountFiee"
|
||||
"fonchain-fiee/api/bundle"
|
||||
"fonchain-fiee/api/cast"
|
||||
"fonchain-fiee/cmd/config"
|
||||
modelCast "fonchain-fiee/pkg/model/cast"
|
||||
"fonchain-fiee/pkg/model/login"
|
||||
"fonchain-fiee/pkg/service"
|
||||
castService "fonchain-fiee/pkg/service/cast"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// GetPendingTaskList 查询待指派任务记录
|
||||
func GetPendingTaskList(c *gin.Context) {
|
||||
var req bundle.TaskQueryRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.GetPendingTaskList(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// AssignTask 指派某位员工完成某个艺人的任务
|
||||
func AssignTask(c *gin.Context) {
|
||||
var req bundle.TaskAssignRequest
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
req.OperatorNum = userInfo.TelNum
|
||||
req.Operator = userInfo.Name
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.AssignTask(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// UpdatePendingCount 修改待发数量
|
||||
func UpdatePendingCount(c *gin.Context) {
|
||||
var req bundle.UpdatePendingCountRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.UpdatePendingCount(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// GetRecentAssignRecords 查询最近被指派记录
|
||||
func GetRecentAssignRecords(c *gin.Context) {
|
||||
var req bundle.RecentAssignRecordsRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.GetRecentAssignRecords(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// GetEmployeeAssignedTasks 根据登录人信息查询被指派给该员工的任务
|
||||
func GetEmployeeAssignedTasks(c *gin.Context) {
|
||||
var req bundle.EmployeeTaskQueryRequest
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
req.TaskAssigneeNum = userInfo.TelNum
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.GetEmployeeAssignedTasks(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// CompleteTaskManually 员工手动点击完成任务
|
||||
func CompleteTaskManually(c *gin.Context) {
|
||||
var req bundle.CompleteTaskManuallyRequest
|
||||
userInfo := login.GetUserInfoFromC(c)
|
||||
req.TaskAssigneeNum = userInfo.TelNum
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.CompleteTaskManually(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// UpdateTaskProgress 员工实际完成任务状态更新
|
||||
func UpdateTaskProgress(c *gin.Context) {
|
||||
var req bundle.UpdateTaskProgressRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.UpdateTaskProgress(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
// GetTaskAssignRecordsList 多条件查询操作记录表
|
||||
func GetTaskAssignRecordsList(c *gin.Context) {
|
||||
var req bundle.TaskAssignRecordsQueryRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
// 添加空指针检查
|
||||
if service.BundleProvider == nil {
|
||||
service.Error(c, fmt.Errorf("BundleProvider is not initialized"))
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.GetTaskAssignRecordsList(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
||||
|
||||
type UpdateWorkVideoWithUUIDReq struct {
|
||||
*cast.UpdateWorkVideoReq
|
||||
AssignRecordsUUID string `json:"assignRecordsUUID"`
|
||||
}
|
||||
|
||||
type UpdateWorkImageWithTaskUUIDReq struct {
|
||||
*cast.UpdateWorkImageReq
|
||||
AssignRecordsUUID string `json:"assignRecordsUUID"`
|
||||
}
|
||||
|
||||
func UpdateWorkImageWithTaskUUID(ctx *gin.Context) {
|
||||
var req UpdateWorkImageWithTaskUUIDReq
|
||||
var infoResp *accountFiee.UserInfoResponse
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if config.AppConfig.System.AppMode != "dev" {
|
||||
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
|
||||
ID: artistId,
|
||||
Domain: "app",
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
infoResp = &accountFiee.UserInfoResponse{
|
||||
Name: "小波",
|
||||
TelNum: "18288888888",
|
||||
TelAreaCode: "86",
|
||||
}
|
||||
}
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
if err = castService.CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeImageValue); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
newCtx := castService.NewCtxWithUserInfo(ctx)
|
||||
req.Source = 1
|
||||
resp, err := service.CastProvider.UpdateWorkImage(newCtx, req.UpdateWorkImageReq)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// 调用员工实际任务状态更新
|
||||
resp1, err := service.BundleProvider.UpdateTaskProgress(context.Background(), &bundle.UpdateTaskProgressRequest{
|
||||
AssignRecordsUUID: req.AssignRecordsUUID,
|
||||
EmployeeName: infoResp.Name,
|
||||
EmployeeNum: infoResp.TelNum, // 需要根据实际业务逻辑填充员工工号
|
||||
TaskType: "post",
|
||||
CompleteCount: 1,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
zap.L().Info("UpdateTaskProgress", zap.Any("resp", resp1))
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
func UpdateWorkVideoWithUUID(ctx *gin.Context) {
|
||||
var req UpdateWorkVideoWithUUIDReq
|
||||
var infoResp *accountFiee.UserInfoResponse
|
||||
var err error
|
||||
if err = ctx.ShouldBind(&req); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
if config.AppConfig.System.AppMode != "dev" {
|
||||
artistId, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{
|
||||
ID: artistId,
|
||||
Domain: "app",
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
infoResp = &accountFiee.UserInfoResponse{
|
||||
Name: "小波",
|
||||
TelNum: "18288888888",
|
||||
TelAreaCode: "86",
|
||||
}
|
||||
}
|
||||
artistID, _ := strconv.ParseUint(req.ArtistUuid, 10, 64)
|
||||
if err = castService.CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeVideoValue); err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
req.ArtistName = infoResp.Name
|
||||
req.ArtistPhone = infoResp.TelNum
|
||||
req.ArtistPhoneAreaCode = infoResp.TelAreaCode
|
||||
newCtx := castService.NewCtxWithUserInfo(ctx)
|
||||
req.Source = 1
|
||||
resp, err := service.CastProvider.UpdateWorkVideo(newCtx, req.UpdateWorkVideoReq)
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
// 调用员工实际任务状态更新
|
||||
resp1, err := service.BundleProvider.UpdateTaskProgress(context.Background(), &bundle.UpdateTaskProgressRequest{
|
||||
AssignRecordsUUID: req.AssignRecordsUUID,
|
||||
EmployeeName: infoResp.Name,
|
||||
EmployeeNum: infoResp.TelNum, // 需要根据实际业务逻辑填充员工工号
|
||||
TaskType: "video",
|
||||
CompleteCount: 1,
|
||||
})
|
||||
if err != nil {
|
||||
service.Error(ctx, err)
|
||||
return
|
||||
}
|
||||
zap.L().Info("UpdateTaskProgress", zap.Any("resp", resp1))
|
||||
service.Success(ctx, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// GetArtistBundleBalance 查询艺人套餐剩余数量
|
||||
func GetArtistBundleBalance(c *gin.Context) {
|
||||
var req bundle.ArtistBundleBalanceRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
res, err := service.BundleProvider.GetArtistBundleBalance(context.Background(), &req)
|
||||
if err != nil {
|
||||
service.Error(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
service.Success(c, res)
|
||||
}
|
@ -7,14 +7,16 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"fonchain-fiee/pkg/e"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/tealeg/xlsx"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/tealeg/xlsx"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -128,3 +130,36 @@ func ResponseXls(c *gin.Context, content io.ReadSeeker, fileTag string) {
|
||||
//c.Writer.Header().Add("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
|
||||
http.ServeContent(c.Writer, c.Request, fileName, time.Now(), content)
|
||||
}
|
||||
|
||||
func CreateDirPath(path string) (err error) {
|
||||
if _, err = os.Stat(path); os.IsNotExist(err) {
|
||||
if err = os.MkdirAll(path, os.ModePerm); err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func CopyFile(src, dstDir string) (string, error) {
|
||||
in, err := os.Open(src)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer in.Close()
|
||||
if err := os.MkdirAll(dstDir, 0755); err != nil {
|
||||
return "", err
|
||||
}
|
||||
dst := filepath.Join(dstDir, filepath.Base(src))
|
||||
out, err := os.Create(dst)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer out.Close()
|
||||
if _, err = io.Copy(out, in); err != nil {
|
||||
return "", err
|
||||
}
|
||||
if err = out.Sync(); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return dst, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user