diff --git a/services/cs/client.go b/services/cs/client.go new file mode 100644 index 0000000..704c958 --- /dev/null +++ b/services/cs/client.go @@ -0,0 +1,30 @@ +package cs + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" +) + +const ( + VERSION = "2025-06-10" +) + +var HOST = requests.Host{ + Default: "cs", +} + +type Client struct { + sdk.Client +} + +func NewClient() (client *Client, err error) { + client = new(Client) + err = client.Init() + return +} + +func (client *Client) GetFaq(req *GetFaqRequest) (resp *GetFaqResponse, err error) { + resp = CreateGetFaqResponse() + err = client.DoAction(req, resp) + return +} diff --git a/services/cs/client_test.go b/services/cs/client_test.go new file mode 100644 index 0000000..765b81d --- /dev/null +++ b/services/cs/client_test.go @@ -0,0 +1,26 @@ +package cs + +import ( + "fmt" + "testing" +) + +/** + * 客服工单服务,单元测试 + */ + +func TestGetFaq(t *testing.T) { + client, newErr := NewClient() + if newErr != nil { + panic(newErr) + } + + req := CreateGetFaqRequest() + info, err := client.GetFaq(req) + if err != nil { + t.Error(err) + return + } + + fmt.Printf("%+v", info) +} diff --git a/services/cs/faq.go b/services/cs/faq.go new file mode 100644 index 0000000..104c94d --- /dev/null +++ b/services/cs/faq.go @@ -0,0 +1,48 @@ +package cs + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" +) + +// Faq 树状结构 +type Faq struct { + Id int64 `json:"id"` + ParentId int64 `json:"parent_id"` + Title string `json:"title"` + Answer string `json:"answer"` + Type int64 `json:"type"` + WorkOrderTemplateId int64 `json:"work_order_template_id"` + CreatedAt string `json:"created_at"` + UpdatedAt string `json:"updated_at"` + ProcessFlow string `json:"process_flow"` + Children []*Faq `json:"children"` +} + +type GetFaqRequest struct { + *requests.RpcRequest +} + +type GetFaqResponse struct { + *responses.BaseResponse + Code int `json:"code"` + Msg string `json:"msg"` + Data Faq `json:"data"` +} + +func CreateGetFaqRequest() (req *GetFaqRequest) { + req = &GetFaqRequest{ + RpcRequest: &requests.RpcRequest{}, + } + req.InitWithApiInfo(HOST, VERSION, "/v1/faq/list") + + req.Method = requests.POST + return +} + +func CreateGetFaqResponse() (response *GetFaqResponse) { + response = &GetFaqResponse{ + BaseResponse: &responses.BaseResponse{}, + } + return +}