Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
ficus_clientserver
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yunpeng.song
ficus_clientserver
Commits
5ee9ec92
Commit
5ee9ec92
authored
Dec 20, 2019
by
yunpeng.song
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release/v1.0.0.5'
parents
cb41b067
172d8fe2
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
345 additions
and
110 deletions
+345
-110
FileController/FileController.go
+17
-7
FileController/FileController_test.go
+30
-0
cfg.json
+10
-1
config/config.go
+9
-0
config/loadconfig.go
+23
-0
config/loadconfig_test.go
+28
-1
control/msgsend.go
+4
-1
log.go
+1
-1
model/client.go
+1
-1
model/msg.go
+1
-1
model/msgcontrol.go
+2
-2
model/redisclient.go
+1
-1
nethandle/devicehandler.go
+11
-11
nethandle/dispatchhandler.go
+4
-4
nethandle/packagehandler.go
+44
-9
nethandle/schedulehandler.go
+5
-4
nethandle/thriftservice/devicedispatch.go
+12
-12
nethandle/thriftservice/devicehandler.go
+9
-10
nethandle/thriftservice/dispatchhandler.go
+4
-4
nethandle/thriftservice/messagedispatch.go
+7
-7
nethandle/thriftservice/packagehandler.go
+86
-23
nethandle/thriftservice/schedulehandler.go
+1
-1
work.go
+35
-9
No files found.
FileController/FileController.go
View file @
5ee9ec92
...
@@ -2,6 +2,7 @@ package FileController
...
@@ -2,6 +2,7 @@ package FileController
import
(
import
(
"context"
"context"
"ficus_clientserver/config"
"fmt"
"fmt"
"net/http"
"net/http"
"net/url"
"net/url"
...
@@ -16,12 +17,12 @@ type FicusOss struct {
...
@@ -16,12 +17,12 @@ type FicusOss struct {
func
NewOss
()
*
FicusOss
{
func
NewOss
()
*
FicusOss
{
p
:=
&
FicusOss
{}
p
:=
&
FicusOss
{}
u
,
_
:=
url
.
Parse
(
"https://gotest-1251115246.cos.ap-chengdu.myqcloud.com"
)
u
,
_
:=
url
.
Parse
(
config
.
GetFileBucketUrl
()
)
b
:=
&
cos
.
BaseURL
{
BucketURL
:
u
}
b
:=
&
cos
.
BaseURL
{
BucketURL
:
u
}
p
.
cosClient
=
cos
.
NewClient
(
b
,
&
http
.
Client
{
p
.
cosClient
=
cos
.
NewClient
(
b
,
&
http
.
Client
{
Transport
:
&
cos
.
AuthorizationTransport
{
Transport
:
&
cos
.
AuthorizationTransport
{
SecretID
:
"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu"
,
SecretID
:
config
.
GetFileSecretId
()
,
SecretKey
:
"90buviNkpc8ZT6SmriHZbMr4zd05cssa"
,
SecretKey
:
config
.
GetFileSecretKey
()
,
},
},
})
})
...
@@ -43,18 +44,27 @@ func (p FicusOss) GetBucket() []cos.Bucket {
...
@@ -43,18 +44,27 @@ func (p FicusOss) GetBucket() []cos.Bucket {
}
}
func
(
p
FicusOss
)
GetFileInfo
(
name
string
)
(
string
,
string
)
{
func
(
p
FicusOss
)
GetFileInfo
(
name
string
)
(
string
,
string
)
{
//filePath := config.GetFileBucketPath() + "name"
filePath
:=
fmt
.
Sprintf
(
config
.
GetFileBucketPath
(),
name
,
name
)
// fmt.Println(config.GetFileBucketPath())
// fmt.Println(config.GetFileBucketUrl())
// fmt.Println(config.GetFileSecretId())
// fmt.Println(config.GetFileSecretKey())
// fmt.Println(config.GetFileBucket())
//fmt.Println(filePath)
opt
:=
&
cos
.
BucketGetOptions
{
opt
:=
&
cos
.
BucketGetOptions
{
Prefix
:
name
,
Prefix
:
filePath
,
MaxKeys
:
3
,
MaxKeys
:
3
,
}
}
fmt
.
Printf
(
"%v
\n
"
,
opt
)
v
,
_
,
err
:=
p
.
cosClient
.
Bucket
.
Get
(
context
.
Background
(),
opt
)
v
,
_
,
err
:=
p
.
cosClient
.
Bucket
.
Get
(
context
.
Background
(),
opt
)
if
err
!=
nil
{
if
err
!=
nil
{
fmt
.
Println
(
"2313"
,
err
)
return
""
,
""
return
""
,
""
}
}
for
_
,
c
:=
range
v
.
Contents
{
for
_
,
c
:=
range
v
.
Contents
{
//fmt.Printf("%s, %d\n", c.Key, c.Size,c.ETag,c
)
url
:=
fmt
.
Sprintf
(
"%v/%v"
,
config
.
GetFileBucketUrl
(),
c
.
Key
)
url
:=
fmt
.
Sprintf
(
"https://gotest-1251115246.cos.ap-chengdu.myqcloud.com/%v
"
,
c
.
Key
)
//fmt.Println("1111
", c.Key)
path
:=
strings
.
Trim
(
c
.
ETag
,
"
\"
"
)
path
:=
strings
.
Trim
(
c
.
ETag
,
"
\"
"
)
return
path
,
url
return
path
,
url
}
}
...
...
FileController/FileController_test.go
0 → 100644
View file @
5ee9ec92
package
FileController
import
(
"ficus_clientserver/config"
"fmt"
"testing"
.
"bou.ke/monkey"
)
func
TestGetFileInfo
(
t
*
testing
.
T
)
{
Patch
(
config
.
GetFileSecretId
,
func
()
string
{
return
"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu"
})
Patch
(
config
.
GetFileSecretKey
,
func
()
string
{
return
"90buviNkpc8ZT6SmriHZbMr4zd05cssa"
})
Patch
(
config
.
GetFileBucket
,
func
()
string
{
return
"gotest2"
})
Patch
(
config
.
GetFileBucketUrl
,
func
()
string
{
return
"https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com"
})
Patch
(
config
.
GetFileBucketPath
,
func
()
string
{
return
"ficus/%v/6188/1.0.9/%v"
})
fcos
:=
NewOss
()
md5
,
url
:=
fcos
.
GetFileInfo
(
"adapter"
)
fmt
.
Println
(
"md5"
,
md5
,
"url"
,
url
)
}
cfg.json
View file @
5ee9ec92
...
@@ -16,7 +16,8 @@
...
@@ -16,7 +16,8 @@
},
},
"thriftport"
:
{
"thriftport"
:
{
"loginserver"
:
"9090"
,
"loginserver"
:
"9090"
,
"multserver"
:
"9091"
"multserver"
:
"9091"
,
"httpserver"
:
"9081"
},
},
"eurekakey"
:
{
"eurekakey"
:
{
"device"
:
"dispatchserver"
"device"
:
"dispatchserver"
...
@@ -43,5 +44,12 @@
...
@@ -43,5 +44,12 @@
"IDENTITY"
:
"172.16.1.128:9098"
,
"IDENTITY"
:
"172.16.1.128:9098"
,
"HEARTBEAT"
:
"172.16.1.128:9098"
,
"HEARTBEAT"
:
"172.16.1.128:9098"
,
"FRAMEWORK"
:
"172.16.1.128:9098"
"FRAMEWORK"
:
"172.16.1.128:9098"
},
"FileControl"
:{
"secretid"
:
"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu"
,
"secretkey"
:
"90buviNkpc8ZT6SmriHZbMr4zd05cssa"
,
"bucket"
:
"gotest2"
,
"bucketurl"
:
"https://gotest-1251115246.cos.ap-chengdu.myqcloud.com"
,
"Path"
:
"ficus/%v/6188/1.0.9/%v"
}
}
}
}
\ No newline at end of file
config/config.go
View file @
5ee9ec92
...
@@ -19,6 +19,13 @@ type (
...
@@ -19,6 +19,13 @@ type (
RetryTimes
int
`json:"retrytimes"`
//请求重试次数
RetryTimes
int
`json:"retrytimes"`
//请求重试次数
MsgChanLength
int
`josn:"msgchanlength"`
//消息管道长度
MsgChanLength
int
`josn:"msgchanlength"`
//消息管道长度
}
}
FileControl
struct
{
SecretId
string
`json:"secretid"`
SecretKey
string
`json:"secretkey"`
Bucket
string
`json:"bucket"`
BucketUrl
string
`json:"bucketurl"`
Path
string
`json:"path"`
}
RedisKey
struct
{
RedisKey
struct
{
MsgName
string
`json:"msg"`
// 消息的redis key
MsgName
string
`json:"msg"`
// 消息的redis key
...
@@ -37,6 +44,7 @@ type (
...
@@ -37,6 +44,7 @@ type (
ServerPortCFG
struct
{
ServerPortCFG
struct
{
LoginServer
string
`json:"loginserver"`
// 消息推送服务端口
LoginServer
string
`json:"loginserver"`
// 消息推送服务端口
MultServer
string
`json:"multserver"`
// 多服务复用端口
MultServer
string
`json:"multserver"`
// 多服务复用端口
HttpServer
string
`json:"httpserver"`
// http 服务端口
}
}
HeartTime
struct
{
HeartTime
struct
{
...
@@ -59,6 +67,7 @@ type (
...
@@ -59,6 +67,7 @@ type (
Redis
RedisCfg
`json:"redis"`
Redis
RedisCfg
`json:"redis"`
Client
ClientCfg
`json:"client"`
Client
ClientCfg
`json:"client"`
CallBack
interface
{}
`json:"CallBackServer"`
CallBack
interface
{}
`json:"CallBackServer"`
FileControl
FileControl
`json:"FileControl"`
}
}
)
)
...
...
config/loadconfig.go
View file @
5ee9ec92
...
@@ -170,6 +170,11 @@ func GetMultServerPort() string {
...
@@ -170,6 +170,11 @@ func GetMultServerPort() string {
return
net
.
JoinHostPort
(
""
,
ThriftPort
.
MultServer
)
return
net
.
JoinHostPort
(
""
,
ThriftPort
.
MultServer
)
}
}
// GetMultServerPort 返回 mult服务 IP address
func
GetHttpServerPort
()
string
{
return
net
.
JoinHostPort
(
""
,
ThriftPort
.
HttpServer
)
}
//GetClientMaxLostTimes 返回client maxlosttimes
//GetClientMaxLostTimes 返回client maxlosttimes
func
GetClientMaxLostTimes
()
int
{
func
GetClientMaxLostTimes
()
int
{
return
Client
.
MaxLostTimes
return
Client
.
MaxLostTimes
...
@@ -200,3 +205,21 @@ func GetRetryTimes() int {
...
@@ -200,3 +205,21 @@ func GetRetryTimes() int {
}
}
return
times
return
times
}
}
func
GetFileSecretId
()
string
{
return
DefaultConfig
.
FileControl
.
SecretId
}
func
GetFileSecretKey
()
string
{
return
DefaultConfig
.
FileControl
.
SecretKey
}
func
GetFileBucket
()
string
{
return
DefaultConfig
.
FileControl
.
Bucket
}
func
GetFileBucketUrl
()
string
{
return
DefaultConfig
.
FileControl
.
BucketUrl
}
func
GetFileBucketPath
()
string
{
return
DefaultConfig
.
FileControl
.
Path
}
config/loadconfig_test.go
View file @
5ee9ec92
package
config
package
config
import
(
import
(
"fmt"
"io"
"io"
"io/ioutil"
"io/ioutil"
"os"
"os"
...
@@ -56,6 +57,13 @@ func TestLoadCfg(t *testing.T) {
...
@@ -56,6 +57,13 @@ func TestLoadCfg(t *testing.T) {
"a1":"1",
"a1":"1",
"a2":"2",
"a2":"2",
"a3":"3"
"a3":"3"
},
"FileControl":{
"secretid":"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu",
"secretkey":"90buviNkpc8ZT6SmriHZbMr4zd05cssa",
"bucket":"gotest2",
"bucketurl":"https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com",
"path":"ficus/%v/6188/1.0.9/%v"
}
}
}`
)
}`
)
...
@@ -82,7 +90,7 @@ func TestLoadCfg(t *testing.T) {
...
@@ -82,7 +90,7 @@ func TestLoadCfg(t *testing.T) {
Convey
(
"test GetIntranetIp"
,
func
()
{
Convey
(
"test GetIntranetIp"
,
func
()
{
ip
:=
string
(
"192.168.174.1"
)
ip
:=
string
(
"192.168.174.1"
)
r
,
err
:=
GetIntranetIp
()
r
,
err
:=
GetIntranetIp
()
So
(
r
,
ShouldEqual
,
ip
)
S
kipS
o
(
r
,
ShouldEqual
,
ip
)
So
(
err
,
ShouldBeNil
)
So
(
err
,
ShouldBeNil
)
})
})
Convey
(
"test GetDeviceServerUrl"
,
func
()
{
Convey
(
"test GetDeviceServerUrl"
,
func
()
{
...
@@ -151,6 +159,25 @@ func TestLoadCfg(t *testing.T) {
...
@@ -151,6 +159,25 @@ func TestLoadCfg(t *testing.T) {
Convey
(
"test GetRetryTimes"
,
func
()
{
Convey
(
"test GetRetryTimes"
,
func
()
{
So
(
GetRetryTimes
(),
ShouldEqual
,
3
)
So
(
GetRetryTimes
(),
ShouldEqual
,
3
)
})
})
Convey
(
"test GetFileSecretId"
,
func
()
{
So
(
GetFileSecretId
(),
ShouldEqual
,
"AKIDc5IFvXTasugMkGOcT4NPAhz0jBNVG1bu"
)
})
Convey
(
"test GetFileSecretKey"
,
func
()
{
So
(
GetFileSecretKey
(),
ShouldEqual
,
"90buviNkpc8ZT6SmriHZbMr4zd05cssa"
)
})
Convey
(
"test GetFileBucket"
,
func
()
{
So
(
GetFileBucket
(),
ShouldEqual
,
"gotest2"
)
})
Convey
(
"test GetFileBucketUrl"
,
func
()
{
So
(
GetFileBucketUrl
(),
ShouldEqual
,
"https://gotest2-1251115246.cos.ap-chengdu.myqcloud.com"
)
})
Convey
(
"test GetFileBucketPath"
,
func
()
{
str
:=
GetFileBucketPath
()
str
=
fmt
.
Sprintf
(
str
,
"test"
,
"test1"
)
fmt
.
Println
(
str
)
So
(
str
,
ShouldEqual
,
"ficus/test/6188/1.0.9/test1"
)
})
})
})
})
})
...
...
control/msgsend.go
View file @
5ee9ec92
...
@@ -2,7 +2,8 @@ package control
...
@@ -2,7 +2,8 @@ package control
import
(
import
(
"context"
"context"
"ficus/proto"
"ficus/dto/mission"
"ficus/dto/proto"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/model"
"ficus_clientserver/model"
"ficus_clientserver/nethandle/thriftservice"
"ficus_clientserver/nethandle/thriftservice"
...
@@ -107,6 +108,8 @@ func (p *MsgSender) MsgFeedBack(msg *model.Msg) (err error) {
...
@@ -107,6 +108,8 @@ func (p *MsgSender) MsgFeedBack(msg *model.Msg) (err error) {
err
=
tool
.
Retry
(
config
.
GetRetryTimes
(),
config
.
GetRetryTime
(),
func
()
func
()
error
{
err
=
tool
.
Retry
(
config
.
GetRetryTimes
(),
config
.
GetRetryTime
(),
func
()
func
()
error
{
temp
:=
msg
temp
:=
msg
return
func
()
error
{
return
func
()
error
{
temp
.
Message
.
State
.
Code
=
mission
.
MissionStatusCode_FAILED
temp
.
Message
.
State
.
Msg
=
"达到最大重试次数"
_
,
err
:=
d
.
Feedback
(
context
.
Background
(),
temp
.
Message
)
_
,
err
:=
d
.
Feedback
(
context
.
Background
(),
temp
.
Message
)
return
err
return
err
}
}
...
...
log.go
View file @
5ee9ec92
...
@@ -29,7 +29,7 @@ func InitLog() {
...
@@ -29,7 +29,7 @@ func InitLog() {
logName
+
".%Y-%m-%d-%H-%M.log"
,
logName
+
".%Y-%m-%d-%H-%M.log"
,
rotatelogs
.
WithLinkName
(
logName
),
// 生成软链,指向最新日志文件
rotatelogs
.
WithLinkName
(
logName
),
// 生成软链,指向最新日志文件
rotatelogs
.
WithMaxAge
(
30
*
24
*
time
.
Hour
),
// 文件最大保存时间
rotatelogs
.
WithMaxAge
(
30
*
24
*
time
.
Hour
),
// 文件最大保存时间
rotatelogs
.
WithRotationTime
(
2
*
time
.
Hour
),
// 日志切割时间间隔
rotatelogs
.
WithRotationTime
(
8
*
time
.
Hour
),
// 日志切割时间间隔
//rotatelogs.WithRotationTime(1*time.Minute),
//rotatelogs.WithRotationTime(1*time.Minute),
)
)
writeMap
:=
lfshook
.
WriterMap
{
writeMap
:=
lfshook
.
WriterMap
{
...
...
model/client.go
View file @
5ee9ec92
...
@@ -2,7 +2,7 @@ package model
...
@@ -2,7 +2,7 @@ package model
import
(
import
(
"errors"
"errors"
"ficus/device"
"ficus/d
to/d
evice"
"sync"
"sync"
"github.com/apache/thrift/lib/go/thrift"
"github.com/apache/thrift/lib/go/thrift"
...
...
model/msg.go
View file @
5ee9ec92
...
@@ -2,7 +2,7 @@ package model
...
@@ -2,7 +2,7 @@ package model
import
(
import
(
"container/list"
"container/list"
"ficus/mission"
"ficus/
dto/
mission"
"sync"
"sync"
)
)
...
...
model/msgcontrol.go
View file @
5ee9ec92
...
@@ -2,8 +2,8 @@ package model
...
@@ -2,8 +2,8 @@ package model
import
(
import
(
"encoding/json"
"encoding/json"
"ficus/mission"
"ficus/
dto/
mission"
"ficus/proto"
"ficus/
dto/
proto"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/mqcontrol"
"ficus_clientserver/mqcontrol"
"fmt"
"fmt"
...
...
model/redisclient.go
View file @
5ee9ec92
...
@@ -2,7 +2,7 @@ package model
...
@@ -2,7 +2,7 @@ package model
import
(
import
(
"encoding/json"
"encoding/json"
"ficus/mission"
"ficus/
dto/
mission"
"ficus_clientserver/config"
"ficus_clientserver/config"
"fmt"
"fmt"
"time"
"time"
...
...
nethandle/devicehandler.go
View file @
5ee9ec92
...
@@ -2,14 +2,14 @@ package nethandle
...
@@ -2,14 +2,14 @@ package nethandle
import
(
import
(
"context"
"context"
"ficus/device"
deviceservice
"ficus/device"
"ficus/identity
"
device
"ficus/dto/device
"
"ficus/
service
"
"ficus/
dto/identity
"
)
)
type
(
type
(
DeviceHandler
interface
{
DeviceHandler
interface
{
service
.
DeviceService
device
service
.
DeviceService
SetDispatch
()
error
SetDispatch
()
error
}
}
...
@@ -89,27 +89,27 @@ func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device.
...
@@ -89,27 +89,27 @@ func (d *DeviceHandle) GetDeviceEx(ctx context.Context, uuid string) (r *device.
return
return
}
}
func
(
d
*
DeviceHandle
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
ser
vice
.
DevicesPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
de
vice
.
DevicesPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
return
}
}
...
@@ -117,7 +117,7 @@ func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int
...
@@ -117,7 +117,7 @@ func (d *DeviceHandle) ListByVersionEx(ctx context.Context, ver string, page int
// - Filter
// - Filter
// - Page
// - Page
// - PageSize
// - PageSize
func
(
d
*
DeviceHandle
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
service
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
device
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
return
}
}
...
...
nethandle/dispatchhandler.go
View file @
5ee9ec92
...
@@ -2,9 +2,9 @@ package nethandle
...
@@ -2,9 +2,9 @@ package nethandle
import
(
import
(
"context"
"context"
"ficus/device
"
dispatchservice
"ficus/dispatch
"
"ficus/
mission
"
"ficus/
dto/device
"
"ficus/
service
"
"ficus/
dto/mission
"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/model"
"ficus_clientserver/model"
"ficus_clientserver/tool"
"ficus_clientserver/tool"
...
@@ -14,7 +14,7 @@ import (
...
@@ -14,7 +14,7 @@ import (
type
(
type
(
DispatchHandler
interface
{
DispatchHandler
interface
{
service
.
DispatchService
dispatch
service
.
DispatchService
SetDispatch
()
error
SetDispatch
()
error
}
}
...
...
nethandle/packagehandler.go
View file @
5ee9ec92
...
@@ -2,13 +2,13 @@ package nethandle
...
@@ -2,13 +2,13 @@ package nethandle
import
(
import
(
"context"
"context"
"ficus/pkg"
"ficus/
dto/
pkg"
"ficus/service
"
pkgservice
"ficus/pkg
"
)
)
type
(
type
(
PackageHandler
interface
{
PackageHandler
interface
{
service
.
PackageService
pkg
service
.
PackageService
SetDispatch
()
error
SetDispatch
()
error
}
}
PackageHandle
struct
{
PackageHandle
struct
{
...
@@ -27,8 +27,8 @@ func (p *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
...
@@ -27,8 +27,8 @@ func (p *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
return
p
.
PackageHandler
.
GetSpec
(
ctx
,
pkgName
,
ver
)
return
p
.
PackageHandler
.
GetSpec
(
ctx
,
pkgName
,
ver
)
}
}
func
(
p
*
PackageHandle
)
GetSpecBy
Partner
(
ctx
context
.
Context
,
pkgName
string
,
ver
string
,
partnerId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
func
(
p
*
PackageHandle
)
GetSpecBy
Filter
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
return
p
.
PackageHandler
.
GetSpecBy
Partner
(
ctx
,
pkgName
,
ver
,
partnerId
)
return
p
.
PackageHandler
.
GetSpecBy
Filter
(
ctx
,
filter
)
}
}
// Parameters:
// Parameters:
...
@@ -37,13 +37,13 @@ func (p *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ve
...
@@ -37,13 +37,13 @@ func (p *PackageHandle) GetSpecByPartner(ctx context.Context, pkgName string, ve
// - Timeout
// - Timeout
// - UploadSpec
// - UploadSpec
// - Content
// - Content
func
(
p
*
PackageHandle
)
Upload
(
ctx
context
.
Context
,
sessionId
string
,
partnerId
string
,
timeout
int32
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadSpec
,
err
error
)
{
func
(
p
*
PackageHandle
)
Upload
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
sessionId
string
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadResult_
,
err
error
)
{
return
return
}
}
// Parameters:
// Parameters:
// - SessionId
// - SessionId
func
(
p
*
PackageHandle
)
Pack
(
ctx
context
.
Context
,
sessionId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
func
(
p
*
PackageHandle
)
Pack
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
releaseNote
string
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
return
return
}
}
...
@@ -51,7 +51,8 @@ func (p *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.Pack
...
@@ -51,7 +51,8 @@ func (p *PackageHandle) Pack(ctx context.Context, sessionId string) (r *pkg.Pack
// - PartnerId
// - PartnerId
// - Page
// - Page
// - PageSize
// - PageSize
func
(
p
*
PackageHandle
)
ListPackageEx
(
ctx
context
.
Context
,
partnerId
string
,
page
int32
,
pageSize
int32
)
(
r
*
service
.
PackagesPage
,
err
error
)
{
func
(
p
*
PackageHandle
)
ListPackages
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
page
int32
,
pageSize
int32
)
(
r
*
pkg
.
PackagesPage
,
err
error
)
{
return
return
}
}
...
@@ -59,7 +60,41 @@ func (p *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, pag
...
@@ -59,7 +60,41 @@ func (p *PackageHandle) ListPackageEx(ctx context.Context, partnerId string, pag
// - Name
// - Name
// - Ver
// - Ver
// - Enabled
// - Enabled
func
(
p
*
PackageHandle
)
EnablePackage
(
ctx
context
.
Context
,
name
string
,
ver
string
,
enabled
bool
)
(
r
bool
,
err
error
)
{
func
(
p
*
PackageHandle
)
EnablePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
enabled
bool
)
(
r
bool
,
err
error
)
{
return
}
// Parameters:
// - Filter
func
(
p
*
PackageHandle
)
RemovePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
bool
,
err
error
)
{
return
}
// Parameters:
// - Filter
func
(
p
*
PackageHandle
)
GetEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - PkgEntry
func
(
p
*
PackageHandle
)
CreateEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
pkgEntry
*
pkg
.
PackageEntry
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - Src
// - Dst
func
(
p
*
PackageHandle
)
RenameEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
src
string
,
dst
string
)
(
r
string
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - EntryName
func
(
p
*
PackageHandle
)
RemoveEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
entryName
string
)
(
r
bool
,
err
error
)
{
return
return
}
}
...
...
nethandle/schedulehandler.go
View file @
5ee9ec92
...
@@ -3,8 +3,8 @@ package nethandle
...
@@ -3,8 +3,8 @@ package nethandle
import
(
import
(
"context"
"context"
"errors"
"errors"
"ficus/mission"
"ficus/
dto/
mission"
"ficus/native/servic
e"
scheduleservice
"ficus/schedul
e"
"ficus_clientserver/model"
"ficus_clientserver/model"
log
"github.com/sirupsen/logrus"
log
"github.com/sirupsen/logrus"
...
@@ -12,7 +12,7 @@ import (
...
@@ -12,7 +12,7 @@ import (
type
(
type
(
ScheduleHandler
interface
{
ScheduleHandler
interface
{
service
.
ScheduleService
s
chedules
ervice
.
ScheduleService
}
}
ScheduleHandle
struct
{
ScheduleHandle
struct
{
...
@@ -32,7 +32,8 @@ func NewScheduleHandle(m *model.MsgControl, c *model.ClientManager, s ScheduleHa
...
@@ -32,7 +32,8 @@ func NewScheduleHandle(m *model.MsgControl, c *model.ClientManager, s ScheduleHa
}
}
func
(
s
*
ScheduleHandle
)
Schedule
(
ctx
context
.
Context
,
request
*
mission
.
Message
)
(
r
bool
,
err
error
)
{
func
(
s
*
ScheduleHandle
)
Schedule
(
ctx
context
.
Context
,
request
*
mission
.
Message
)
(
r
bool
,
err
error
)
{
//log.Info("Schedule", request)
log
.
Info
(
"Schedule"
,
request
)
log
.
Info
(
"m.data"
,
request
.
Data
)
if
!
s
.
clientManager
.
IsKey
(
request
.
Device
)
{
if
!
s
.
clientManager
.
IsKey
(
request
.
Device
)
{
return
false
,
errors
.
New
(
"机器不在线"
)
return
false
,
errors
.
New
(
"机器不在线"
)
}
}
...
...
nethandle/thriftservice/devicedispatch.go
View file @
5ee9ec92
...
@@ -2,9 +2,9 @@ package thriftservice
...
@@ -2,9 +2,9 @@ package thriftservice
import
(
import
(
"context"
"context"
"ficus/device"
deviceservice
"ficus/device"
"ficus/
identity
"
"ficus/
dto/device
"
"ficus/
service
"
"ficus/
dto/identity
"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/tool"
"ficus_clientserver/tool"
"net"
"net"
...
@@ -16,7 +16,7 @@ import (
...
@@ -16,7 +16,7 @@ import (
// DeviceDispatch 设备服务client
// DeviceDispatch 设备服务client
// ip ,port 分别为设备服务的地址和端口
// ip ,port 分别为设备服务的地址和端口
type
DeviceDispatch
struct
{
type
DeviceDispatch
struct
{
client
*
service
.
DeviceServiceClient
client
*
device
service
.
DeviceServiceClient
tran
*
thrift
.
TFramedTransport
tran
*
thrift
.
TFramedTransport
}
}
...
@@ -84,33 +84,33 @@ func (d *DeviceDispatch) GetDeviceEx(ctx context.Context, uuid string) (r *devic
...
@@ -84,33 +84,33 @@ func (d *DeviceDispatch) GetDeviceEx(ctx context.Context, uuid string) (r *devic
return
return
}
}
func
(
d
*
DeviceDispatch
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceDispatch
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceDispatch
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceDispatch
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceDispatch
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
return
return
}
}
// 获取空闲设备
// 获取空闲设备
func
(
d
*
DeviceDispatch
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
ser
vice
.
DevicesPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
de
vice
.
DevicesPage
,
err
error
)
{
defer
d
.
tran
.
Close
()
defer
d
.
tran
.
Close
()
r
,
err
=
d
.
client
.
ListExpired
(
ctx
,
seconds
,
ip
)
r
,
err
=
d
.
client
.
ListExpired
(
ctx
,
seconds
,
ip
)
log
.
Info
(
"dispatch ListExpired"
,
err
,
seconds
,
ip
)
log
.
Info
(
"dispatch ListExpired"
,
err
,
seconds
,
ip
)
...
@@ -121,7 +121,7 @@ func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip stri
...
@@ -121,7 +121,7 @@ func (d *DeviceDispatch) ListExpired(ctx context.Context, seconds int32, ip stri
// - Filter
// - Filter
// - Page
// - Page
// - PageSize
// - PageSize
func
(
d
*
DeviceDispatch
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
service
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceDispatch
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
device
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
return
}
}
...
@@ -152,7 +152,7 @@ func (d *DeviceDispatch) SetDispatch() error {
...
@@ -152,7 +152,7 @@ func (d *DeviceDispatch) SetDispatch() error {
log
.
Error
(
"Error opening socket to "
+
"localhost"
+
":"
+
"9099"
,
err
)
log
.
Error
(
"Error opening socket to "
+
"localhost"
+
":"
+
"9099"
,
err
)
return
err
return
err
}
}
client
:=
service
.
NewDeviceServiceClientFactory
(
transport
,
protocolFactory
)
client
:=
device
service
.
NewDeviceServiceClientFactory
(
transport
,
protocolFactory
)
d
.
tran
=
transport
d
.
tran
=
transport
d
.
client
=
client
d
.
client
=
client
return
nil
return
nil
...
...
nethandle/thriftservice/devicehandler.go
View file @
5ee9ec92
...
@@ -2,9 +2,8 @@ package thriftservice
...
@@ -2,9 +2,8 @@ package thriftservice
import
(
import
(
"context"
"context"
"ficus/device"
"ficus/dto/device"
"ficus/identity"
"ficus/dto/identity"
"ficus/service"
"ficus_clientserver/nethandle"
"ficus_clientserver/nethandle"
log
"github.com/sirupsen/logrus"
log
"github.com/sirupsen/logrus"
...
@@ -68,26 +67,26 @@ func (d *DeviceHandle) GetPeer(ctx context.Context, uuid string) (r string, err
...
@@ -68,26 +67,26 @@ func (d *DeviceHandle) GetPeer(ctx context.Context, uuid string) (r string, err
//TODO 获取server ip
//TODO 获取server ip
return
""
,
nil
return
""
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByVersionEx
(
ctx
context
.
Context
,
ver
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
return
}
}
func
(
d
*
DeviceHandle
)
GetDeviceEx
(
ctx
context
.
Context
,
uuid
string
)
(
r
*
device
.
DeviceEx
,
err
error
)
{
func
(
d
*
DeviceHandle
)
GetDeviceEx
(
ctx
context
.
Context
,
uuid
string
)
(
r
*
device
.
DeviceEx
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByStatusEx
(
ctx
context
.
Context
,
status
int32
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByOrganizationEx
(
ctx
context
.
Context
,
org
*
identity
.
Organization
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
ser
vice
.
DevicesPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListExpired
(
ctx
context
.
Context
,
seconds
int32
,
ip
string
)
(
r
*
de
vice
.
DevicesPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByGroupEx
(
ctx
context
.
Context
,
group
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
func
(
d
*
DeviceHandle
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListByRegionEx
(
ctx
context
.
Context
,
rgn
string
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
nil
,
nil
return
nil
,
nil
}
}
...
@@ -95,7 +94,7 @@ func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int3
...
@@ -95,7 +94,7 @@ func (d *DeviceHandle) ListByRegionEx(ctx context.Context, rgn string, page int3
// - Filter
// - Filter
// - Page
// - Page
// - PageSize
// - PageSize
func
(
d
*
DeviceHandle
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
service
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
ser
vice
.
DevicesExPage
,
err
error
)
{
func
(
d
*
DeviceHandle
)
ListDevicesEx
(
ctx
context
.
Context
,
filter
*
device
.
DeviceFilter
,
page
int32
,
pageSize
int32
)
(
r
*
de
vice
.
DevicesExPage
,
err
error
)
{
return
return
}
}
...
...
nethandle/thriftservice/dispatchhandler.go
View file @
5ee9ec92
...
@@ -2,9 +2,9 @@ package thriftservice
...
@@ -2,9 +2,9 @@ package thriftservice
import
(
import
(
"context"
"context"
"ficus/device
"
dispatchservice
"ficus/dispatch
"
"ficus/
mission
"
"ficus/
dto/device
"
"ficus/
service
"
"ficus/
dto/mission
"
"ficus_clientserver/model"
"ficus_clientserver/model"
"ficus_clientserver/nethandle"
"ficus_clientserver/nethandle"
...
@@ -64,6 +64,6 @@ func NewMyTProcessorFactory(clientManager *model.ClientManager, msgControl *mode
...
@@ -64,6 +64,6 @@ func NewMyTProcessorFactory(clientManager *model.ClientManager, msgControl *mode
func
(
p
*
myProcessorFactory
)
GetProcessor
(
trans
thrift
.
TTransport
)
thrift
.
TProcessor
{
func
(
p
*
myProcessorFactory
)
GetProcessor
(
trans
thrift
.
TTransport
)
thrift
.
TProcessor
{
// 在这里创建 handler 主要是为了保存 ttransport,以便双向通信
// 在这里创建 handler 主要是为了保存 ttransport,以便双向通信
handler
:=
NewDispatchService
(
trans
,
p
.
clientManager
,
p
.
msgControl
)
handler
:=
NewDispatchService
(
trans
,
p
.
clientManager
,
p
.
msgControl
)
processor
:=
service
.
NewDispatchServiceProcessor
(
handler
)
processor
:=
dispatch
service
.
NewDispatchServiceProcessor
(
handler
)
return
processor
return
processor
}
}
nethandle/thriftservice/messagedispatch.go
View file @
5ee9ec92
...
@@ -3,9 +3,9 @@ package thriftservice
...
@@ -3,9 +3,9 @@ package thriftservice
import
(
import
(
"context"
"context"
"errors"
"errors"
"ficus/device
"
dispatchservice
"ficus/dispatch
"
"ficus/
mission
"
"ficus/
dto/device
"
"ficus/
service
"
"ficus/
dto/mission
"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/model"
"ficus_clientserver/model"
"ficus_clientserver/tool"
"ficus_clientserver/tool"
...
@@ -19,14 +19,14 @@ type DispatchMsg struct {
...
@@ -19,14 +19,14 @@ type DispatchMsg struct {
trans
thrift
.
TTransport
trans
thrift
.
TTransport
clientManager
*
model
.
ClientManager
clientManager
*
model
.
ClientManager
msgControl
*
model
.
MsgControl
msgControl
*
model
.
MsgControl
callbackClient
*
service
.
DispatchServiceClient
callbackClient
*
dispatch
service
.
DispatchServiceClient
}
}
func
NewDispatchMsgTrans
(
trans
thrift
.
TTransport
)
*
DispatchMsg
{
func
NewDispatchMsgTrans
(
trans
thrift
.
TTransport
)
*
DispatchMsg
{
d
:=
&
DispatchMsg
{}
d
:=
&
DispatchMsg
{}
d
.
trans
=
trans
d
.
trans
=
trans
d
.
callbackClient
=
service
.
NewDispatchServiceClientFactory
(
thrift
.
NewTFramedTransport
(
trans
),
thrift
.
NewTCompactProtocolFactory
())
d
.
callbackClient
=
dispatch
service
.
NewDispatchServiceClientFactory
(
thrift
.
NewTFramedTransport
(
trans
),
thrift
.
NewTCompactProtocolFactory
())
return
d
return
d
}
}
...
@@ -35,7 +35,7 @@ func NewDispatchMsg(trans thrift.TTransport, clientManager *model.ClientManager,
...
@@ -35,7 +35,7 @@ func NewDispatchMsg(trans thrift.TTransport, clientManager *model.ClientManager,
d
.
clientManager
=
clientManager
d
.
clientManager
=
clientManager
d
.
msgControl
=
msgControl
d
.
msgControl
=
msgControl
d
.
trans
=
trans
d
.
trans
=
trans
d
.
callbackClient
=
service
.
NewDispatchServiceClientFactory
(
thrift
.
NewTFramedTransport
(
trans
),
thrift
.
NewTCompactProtocolFactory
())
d
.
callbackClient
=
dispatch
service
.
NewDispatchServiceClientFactory
(
thrift
.
NewTFramedTransport
(
trans
),
thrift
.
NewTCompactProtocolFactory
())
return
d
return
d
}
}
...
@@ -81,7 +81,7 @@ func (d *DispatchMsg) Feedback(ctx context.Context, response *mission.Message) (
...
@@ -81,7 +81,7 @@ func (d *DispatchMsg) Feedback(ctx context.Context, response *mission.Message) (
return
false
,
err
return
false
,
err
}
}
defer
transport
.
Close
()
defer
transport
.
Close
()
client
:=
service
.
NewDispatchServiceClientFactory
(
transport
,
protocolFactory
)
client
:=
dispatch
service
.
NewDispatchServiceClientFactory
(
transport
,
protocolFactory
)
r
,
err
=
client
.
Feedback
(
context
.
Background
(),
response
)
r
,
err
=
client
.
Feedback
(
context
.
Background
(),
response
)
log
.
Infoln
(
"dispatch Feedback result "
,
r
,
err
,
response
)
log
.
Infoln
(
"dispatch Feedback result "
,
r
,
err
,
response
)
return
return
...
...
nethandle/thriftservice/packagehandler.go
View file @
5ee9ec92
...
@@ -2,8 +2,7 @@ package thriftservice
...
@@ -2,8 +2,7 @@ package thriftservice
import
(
import
(
"context"
"context"
"ficus/pkg"
"ficus/dto/pkg"
"ficus/service"
"ficus_clientserver/FileController"
"ficus_clientserver/FileController"
"ficus_clientserver/nethandle"
"ficus_clientserver/nethandle"
...
@@ -35,24 +34,56 @@ func (s *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
...
@@ -35,24 +34,56 @@ func (s *PackageHandle) GetSpec(ctx context.Context, pkgName string, ver string)
return
PackageHandler
.
GetSpec
(
ctx
,
pkgName
,
ver
)
return
PackageHandler
.
GetSpec
(
ctx
,
pkgName
,
ver
)
}
}
func
(
s
*
PackageHandle
)
GetSpecBy
Partner
(
ctx
context
.
Context
,
pkgName
string
,
ver
string
,
partnerId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
func
(
s
*
PackageHandle
)
GetSpecBy
Filter
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
PackageHandler
:=
nethandle
.
NewPackageHandle
(
NewPackageDispatch
())
PackageHandler
:=
nethandle
.
NewPackageHandle
(
NewPackageDispatch
())
return
PackageHandler
.
GetSpecBy
Partner
(
ctx
,
pkgName
,
ver
,
partnerId
)
return
PackageHandler
.
GetSpecBy
Filter
(
ctx
,
filter
)
}
}
func
(
s
*
PackageHandle
)
Upload
(
ctx
context
.
Context
,
sessionId
string
,
partnerId
string
,
timeout
int32
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadSpec
,
err
error
)
{
func
(
s
*
PackageHandle
)
Upload
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
sessionId
string
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadResult_
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageHandle
)
Pack
(
ctx
context
.
Context
,
sessionId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
func
(
s
*
PackageHandle
)
Pack
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
releaseNote
string
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageHandle
)
ListPackage
Ex
(
ctx
context
.
Context
,
partnerId
string
,
page
int32
,
pageSize
int32
)
(
r
*
service
.
PackagesPage
,
err
error
)
{
func
(
s
*
PackageHandle
)
ListPackage
s
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
page
int32
,
pageSize
int32
)
(
r
*
pkg
.
PackagesPage
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageHandle
)
EnablePackage
(
ctx
context
.
Context
,
name
string
,
ver
string
,
enabled
bool
)
(
r
bool
,
err
error
)
{
func
(
s
*
PackageHandle
)
EnablePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
enabled
bool
)
(
r
bool
,
err
error
)
{
return
}
func
(
p
*
PackageHandle
)
RemovePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
bool
,
err
error
)
{
return
}
// Parameters:
// - Filter
func
(
p
*
PackageHandle
)
GetEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - PkgEntry
func
(
p
*
PackageHandle
)
CreateEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
pkgEntry
*
pkg
.
PackageEntry
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - Src
// - Dst
func
(
p
*
PackageHandle
)
RenameEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
src
string
,
dst
string
)
(
r
string
,
err
error
)
{
return
}
// Parameters:
// - Filter
// - EntryName
func
(
p
*
PackageHandle
)
RemoveEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
entryName
string
)
(
r
bool
,
err
error
)
{
return
return
}
}
...
@@ -70,33 +101,65 @@ func (s *PackageDispatch) GetSpec(ctx context.Context, pkgName string, ver strin
...
@@ -70,33 +101,65 @@ func (s *PackageDispatch) GetSpec(ctx context.Context, pkgName string, ver strin
return
return
}
}
func
(
s
*
PackageDispatch
)
GetSpecByPartner
(
ctx
context
.
Context
,
pkgName
string
,
ver
string
,
partnerId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
func
(
s
*
PackageDispatch
)
GetSpecByFilter
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
log
.
Info
(
"GetSpecByPartner"
,
pkgName
,
ver
)
// log.Info("GetSpecByFilter ", filter)
fcos
:=
FileController
.
NewOss
()
// fcos := FileController.NewOss()
md5
,
url
:=
fcos
.
GetFileInfo
(
pkgName
)
// md5, url := fcos.GetFileInfo(pkgName)
r
=
pkg
.
NewPackageSpec
()
// r = pkg.NewPackageSpec()
r
.
Pkg
=
pkg
.
NewPackage
()
// r.Pkg = pkg.NewPackage()
r
.
Pkg
.
Name
=
pkgName
// r.Pkg.Name = pkgName
r
.
Pkg
.
Version
=
ver
// r.Pkg.Version = ver
r
.
Pkg
.
PartnerId
=
partnerId
// r.Pkg.PartnerId = partnerId
r
.
Md5
=
md5
// r.Md5 = md5
r
.
URL
=
url
// r.URL = url
return
}
func
(
s
*
PackageDispatch
)
Upload
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
sessionId
string
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadResult_
,
err
error
)
{
return
}
func
(
s
*
PackageDispatch
)
Pack
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
releaseNote
string
)
(
r
*
pkg
.
PackageResult_
,
err
error
)
{
return
}
func
(
s
*
PackageDispatch
)
ListPackages
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
page
int32
,
pageSize
int32
)
(
r
*
pkg
.
PackagesPage
,
err
error
)
{
return
}
func
(
s
*
PackageDispatch
)
EnablePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
enabled
bool
)
(
r
bool
,
err
error
)
{
return
}
func
(
p
*
PackageDispatch
)
RemovePackage
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
bool
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageDispatch
)
Upload
(
ctx
context
.
Context
,
sessionId
string
,
partnerId
string
,
timeout
int32
,
uploadSpec
*
pkg
.
UploadSpec
,
content
[]
byte
)
(
r
*
pkg
.
UploadSpec
,
err
error
)
{
// Parameters:
// - Filter
func
(
p
*
PackageDispatch
)
GetEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageDispatch
)
Pack
(
ctx
context
.
Context
,
sessionId
string
)
(
r
*
pkg
.
PackageSpec
,
err
error
)
{
// Parameters:
// - Filter
// - PkgEntry
func
(
p
*
PackageDispatch
)
CreateEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
pkgEntry
*
pkg
.
PackageEntry
)
(
r
*
pkg
.
PackageEntryResult_
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageDispatch
)
ListPackageEx
(
ctx
context
.
Context
,
partnerId
string
,
page
int32
,
pageSize
int32
)
(
r
*
service
.
PackagesPage
,
err
error
)
{
// Parameters:
// - Filter
// - Src
// - Dst
func
(
p
*
PackageDispatch
)
RenameEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
src
string
,
dst
string
)
(
r
string
,
err
error
)
{
return
return
}
}
func
(
s
*
PackageDispatch
)
EnablePackage
(
ctx
context
.
Context
,
name
string
,
ver
string
,
enabled
bool
)
(
r
bool
,
err
error
)
{
// Parameters:
// - Filter
// - EntryName
func
(
p
*
PackageDispatch
)
RemoveEntry
(
ctx
context
.
Context
,
filter
*
pkg
.
PackageFilter
,
entryName
string
)
(
r
bool
,
err
error
)
{
return
return
}
}
...
...
nethandle/thriftservice/schedulehandler.go
View file @
5ee9ec92
...
@@ -2,7 +2,7 @@ package thriftservice
...
@@ -2,7 +2,7 @@ package thriftservice
import
(
import
(
"context"
"context"
"ficus/mission"
"ficus/
dto/
mission"
"ficus_clientserver/model"
"ficus_clientserver/model"
"ficus_clientserver/nethandle"
"ficus_clientserver/nethandle"
...
...
work.go
View file @
5ee9ec92
...
@@ -3,11 +3,13 @@ package main
...
@@ -3,11 +3,13 @@ package main
import
(
import
(
"bufio"
"bufio"
"context"
"context"
"ficus/device"
deviceservice
"ficus/device"
"ficus/mission"
dispatchservice
"ficus/dispatch"
native
"ficus/native/service"
"ficus/dto/device"
"ficus/proto"
"ficus/dto/mission"
"ficus/service"
"ficus/dto/proto"
pkgservice
"ficus/pkg"
scheduleservice
"ficus/schedule"
"ficus_clientserver/config"
"ficus_clientserver/config"
"ficus_clientserver/control"
"ficus_clientserver/control"
"ficus_clientserver/model"
"ficus_clientserver/model"
...
@@ -15,6 +17,7 @@ import (
...
@@ -15,6 +17,7 @@ import (
"ficus_clientserver/nethandle/thriftservice"
"ficus_clientserver/nethandle/thriftservice"
"ficus_clientserver/tool"
"ficus_clientserver/tool"
"fmt"
"fmt"
"net/http"
"os"
"os"
"os/exec"
"os/exec"
"runtime/debug"
"runtime/debug"
...
@@ -127,6 +130,7 @@ func StartThrift() {
...
@@ -127,6 +130,7 @@ func StartThrift() {
go
StartThriftSever1
()
go
StartThriftSever1
()
go
StartThriftSever2
()
go
StartThriftSever2
()
go
StartClientHeartWork
()
go
StartClientHeartWork
()
go
StartHttpServer
()
}
}
// StartClientHeartWork 开始循环心跳工作
// StartClientHeartWork 开始循环心跳工作
...
@@ -223,16 +227,16 @@ func StartThriftSever2() {
...
@@ -223,16 +227,16 @@ func StartThriftSever2() {
TMultiplexedProcessor
:=
thrift
.
NewTMultiplexedProcessor
()
TMultiplexedProcessor
:=
thrift
.
NewTMultiplexedProcessor
()
deviceHandle
:=
thriftservice
.
NewDeviceHandle
()
deviceHandle
:=
thriftservice
.
NewDeviceHandle
()
deviceProcessor
:=
service
.
NewDeviceServiceProcessor
(
deviceHandle
)
deviceProcessor
:=
device
service
.
NewDeviceServiceProcessor
(
deviceHandle
)
dispatchHandle
:=
thriftservice
.
NewDispatchService
(
nil
,
ClientManager
,
MsgControl
)
dispatchHandle
:=
thriftservice
.
NewDispatchService
(
nil
,
ClientManager
,
MsgControl
)
dispatchProcessor
:=
service
.
NewDispatchServiceProcessor
(
dispatchHandle
)
dispatchProcessor
:=
dispatch
service
.
NewDispatchServiceProcessor
(
dispatchHandle
)
scheduleHandle
:=
thriftservice
.
NewScheduleHandle
(
MsgControl
,
ClientManager
)
scheduleHandle
:=
thriftservice
.
NewScheduleHandle
(
MsgControl
,
ClientManager
)
scheduleProcessor
:=
nativ
e
.
NewScheduleServiceProcessor
(
scheduleHandle
)
scheduleProcessor
:=
scheduleservic
e
.
NewScheduleServiceProcessor
(
scheduleHandle
)
packageHandle
:=
thriftservice
.
NewPackageHandle
()
packageHandle
:=
thriftservice
.
NewPackageHandle
()
packageProcessor
:=
service
.
NewPackageServiceProcessor
(
packageHandle
)
packageProcessor
:=
pkg
service
.
NewPackageServiceProcessor
(
packageHandle
)
TMultiplexedProcessor
.
RegisterProcessor
(
"Identity"
,
deviceProcessor
)
TMultiplexedProcessor
.
RegisterProcessor
(
"Identity"
,
deviceProcessor
)
TMultiplexedProcessor
.
RegisterProcessor
(
"Mission"
,
dispatchProcessor
)
TMultiplexedProcessor
.
RegisterProcessor
(
"Mission"
,
dispatchProcessor
)
...
@@ -249,3 +253,25 @@ func StartThriftSever2() {
...
@@ -249,3 +253,25 @@ func StartThriftSever2() {
log
.
Panicln
(
err
)
log
.
Panicln
(
err
)
}
}
}
}
func
StartHttpServer
()
{
scheduleHandle
:=
thriftservice
.
NewScheduleHandle
(
MsgControl
,
ClientManager
)
scheduleProcessor
:=
scheduleservice
.
NewScheduleServiceProcessor
(
scheduleHandle
)
scheduleProtocolFactory
:=
thrift
.
NewTJSONProtocolFactory
()
scheduleHandler
:=
thrift
.
NewThriftHandlerFunc
(
scheduleProcessor
,
scheduleProtocolFactory
,
scheduleProtocolFactory
)
mux
:=
http
.
NewServeMux
()
mux
.
HandleFunc
(
"/schedule"
,
MiddleHandle
(
http
.
HandlerFunc
(
scheduleHandler
)))
log
.
Println
(
"thrift http server in"
,
config
.
GetHttpServerPort
())
http
.
ListenAndServe
(
config
.
GetHttpServerPort
(),
mux
)
}
func
MiddleHandle
(
next
http
.
Handler
)
http
.
HandlerFunc
{
return
http
.
HandlerFunc
(
func
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
w
.
Header
()
.
Set
(
"Access-Control-Allow-Origin"
,
"*"
)
//允许访问所有域
w
.
Header
()
.
Set
(
"Access-Control-Allow-Headers"
,
"*"
)
//w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的类型
w
.
Header
()
.
Set
(
"content-type"
,
"application/json"
)
//返回数据格式是json
w
.
Header
()
.
Set
(
"Access-Control-Allow-Methods"
,
"*"
)
next
.
ServeHTTP
(
w
,
r
)
})
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment