Compare commits
5 커밋
bc565ac059
...
f3a11907ee
작성자 | SHA1 | 날짜 | |
---|---|---|---|
|
f3a11907ee | ||
|
e79d0819ad | ||
|
32ba08b231 | ||
|
c0ced849fc | ||
|
ce7d7f2ee7 |
@ -94,3 +94,29 @@ func (client *Client) OrderAppraise(req *OrderAppraiseRequest) (resp *OrderAppra
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
func (client *Client) OrderRestart(req *OrderRestartRequest) (resp *OrderRestartResponse, err error) {
|
||||
resp = CreateOrderRestartResponse()
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
func (client *Client) OrderSubmit(req *OrderSubmitRequest) (resp *OrderSubmitResponse, err error) {
|
||||
resp = CreateOrderSubmitResponse()
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
|
||||
func (client *Client) OrderFurtherPart(req *OrderFurtherPartRequest) (resp *OrderFurtherPartResponse, err error) {
|
||||
resp = CreateOrderFurtherPartResponse()
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
func (client *Client) OrderRecordList(req *GetWorkOrderRecordListRequest) (resp *GetWorkOrderRecordListResponse, err error) {
|
||||
resp = CreateGetWorkOrderRecordListResponse()
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
func (client *Client) OrderRecordDetail(req *GetWorkOrderRecordDetailReq) (resp *GetWorkOrderRecordDetailResp, err error) {
|
||||
resp = CreateGetWorkOrderRecordDetailResp()
|
||||
err = client.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
|
@ -185,6 +185,7 @@ func TestOrderUrgent(t *testing.T) {
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 用户更新工单处理标识
|
||||
func TestOrderUpdateHandle(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
@ -204,6 +205,7 @@ func TestOrderUpdateHandle(t *testing.T) {
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 用户评价工单
|
||||
func TestOrderAppraise(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
@ -223,3 +225,144 @@ func TestOrderAppraise(t *testing.T) {
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 工单重启
|
||||
func TestOrderRestart(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateOrderRestartRequest(OrderRestartParam{
|
||||
OrderNum: "20250530173554491048",
|
||||
RemarkContent: "模拟用户重启",
|
||||
RemarkPic: []string{},
|
||||
})
|
||||
res, err := client.OrderRestart(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if res.Code != 0 {
|
||||
t.Error("工单重启失败")
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 提交工单
|
||||
func TestOrderSubmit(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateOrderSubmitRequest(OrderSubmitParam{
|
||||
GameId: 7991,
|
||||
UserName: "ws45265737",
|
||||
Uid: 65598086,
|
||||
RoleId: "10676785",
|
||||
RoleName: "流水行者",
|
||||
ServerName: "血阳琉璃",
|
||||
OrderTemplateCode: "btu7RoDj",
|
||||
Detail: "我的问题是,组队这个玩法的初衷是希望实现大家能和身边认识的朋友一起下洞的目标。但是现在看来,很多玩家都选择了在游戏中随机匹配队友,而我们发现,组队机制暴露的绝大部分玩家体验问题都是在随机匹配中出现的。<br/>比如恶意踢人,又比如匹配到的玩家等级比较低,不符合自己本次下洞的目标,再或者是组队进入洞窟却发现队友已经快要收尾结束探险了。",
|
||||
Phone: "13725263463",
|
||||
ApplyIp: "183.63.75.58",
|
||||
OrderParts: []OrderSubmitPart{
|
||||
{
|
||||
PartKey: "email",
|
||||
PartName: "联系邮箱",
|
||||
PartValue: "kingson2011@126.com",
|
||||
PicValue: nil,
|
||||
},
|
||||
{
|
||||
PartKey: "pay_pic",
|
||||
PartName: "充值凭证",
|
||||
PartValue: "",
|
||||
PicValue: []string{
|
||||
"uploads/d1a/d1aba28357b89e7ebfc77e5c43fc81b7.jpeg",
|
||||
"uploads/c37/c3726c5cf7175ed048f6c68416dbf30b.jpeg",
|
||||
"uploads/ca2/ca285ae8feae8c60d51b53079fa9b2a9.jpeg",
|
||||
},
|
||||
},
|
||||
},
|
||||
SmsCode: "7204",
|
||||
})
|
||||
res, err := client.OrderSubmit(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if res.Code != 0 {
|
||||
t.Error("工单提交失败")
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 用户工单补充资料
|
||||
func TestOrderFurtherPart(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateOrderFurtherPartRequest(OrderFurtherPartParam{
|
||||
OrderNum: "20250611160840208567",
|
||||
OrderParts: []OrderSubmitPart{
|
||||
{
|
||||
PartKey: "game_name",
|
||||
PartName: "游戏名称",
|
||||
PartValue: "镇魂街:最终章",
|
||||
},
|
||||
},
|
||||
})
|
||||
res, err := client.OrderFurtherPart(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if res.Code != 0 {
|
||||
t.Error("用户工单补充资料失败")
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 工单列表查询
|
||||
func TestGetWorkOrderRecordList(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateGetWorkOrderRecordListRequest(GetWorkOrderRecordListParam{
|
||||
HandleStatus: "",
|
||||
UserName: "ws45265737",
|
||||
GameId: 7991,
|
||||
Page: 1,
|
||||
PageSize: 20,
|
||||
})
|
||||
res, err := client.OrderRecordList(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if res.Code != 0 {
|
||||
t.Error("工单列表查询失败")
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
||||
// 工单详情查询
|
||||
func TestOrderRecordDetail(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateGetWorkOrderRecordDetailRequest(OrderDetailParam{
|
||||
OrderNum: "20250611160840208567",
|
||||
})
|
||||
res, err := client.OrderRecordDetail(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
if res.Code != 0 {
|
||||
t.Error("工单详情查询失败")
|
||||
}
|
||||
fmt.Printf(fmt.Sprintf("%v", res))
|
||||
}
|
||||
|
@ -171,3 +171,144 @@ func CreateOrderAppraiseResponse() (resp *OrderAppraiseResponse) {
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
}
|
||||
|
||||
// OrderRestartParam 用户重启工单
|
||||
type OrderRestartParam struct {
|
||||
OrderNum string `json:"order_num"`
|
||||
RemarkContent string `json:"remark_content"`
|
||||
RemarkPic []string `json:"remark_pic"`
|
||||
}
|
||||
type OrderRestartRequest struct {
|
||||
*requests.JsonRequest
|
||||
OrderNum string `position:"Json" field:"order_num"`
|
||||
RemarkContent string `position:"Json" field:"remark_content"`
|
||||
RemarkPic []string `position:"Json" field:"remark_pic"`
|
||||
}
|
||||
type OrderRestartResponse struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
func CreateOrderRestartRequest(param OrderRestartParam) (req *OrderRestartRequest) {
|
||||
req = &OrderRestartRequest{
|
||||
JsonRequest: &requests.JsonRequest{},
|
||||
OrderNum: param.OrderNum,
|
||||
RemarkContent: param.RemarkContent,
|
||||
RemarkPic: param.RemarkPic,
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_restart")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
func CreateOrderRestartResponse() (resp *OrderRestartResponse) {
|
||||
return &OrderRestartResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
}
|
||||
|
||||
// OrderSubmitParam 工单提交
|
||||
type OrderSubmitParam struct {
|
||||
GameId int64 `json:"game_id"`
|
||||
UserName string `json:"user_name"`
|
||||
Uid int64 `json:"uid"`
|
||||
RoleId string `json:"role_id"`
|
||||
RoleName string `json:"role_name"`
|
||||
ServerName string `json:"server_name"`
|
||||
OrderTemplateCode string `json:"order_template_code"`
|
||||
Detail string `json:"detail"`
|
||||
Phone string `json:"phone"`
|
||||
ApplyIp string `json:"apply_ip"`
|
||||
OrderParts []OrderSubmitPart `json:"order_parts"`
|
||||
SmsCode string `json:"sms_code"`
|
||||
}
|
||||
|
||||
type OrderSubmitPart struct {
|
||||
PartId int64 `json:"part_id"`
|
||||
PartKey string `json:"part_key"`
|
||||
PartName string `json:"part_name"`
|
||||
PartValue string `json:"part_value"`
|
||||
PartType int64 `json:"part_type"`
|
||||
PicValue []string `json:"pic_value"`
|
||||
}
|
||||
type OrderSubmitRequest struct {
|
||||
*requests.JsonRequest
|
||||
GameId int64 `position:"Json" field:"game_id"`
|
||||
UserName string `position:"Json" field:"user_name"`
|
||||
Uid int64 `position:"Json" field:"uid"`
|
||||
RoleId string `position:"Json" field:"role_id"`
|
||||
RoleName string `position:"Json" field:"role_name"`
|
||||
ServerName string `position:"Json" field:"server_name"`
|
||||
OrderTemplateCode string `position:"Json" field:"order_template_code"`
|
||||
Detail string `position:"Json" field:"detail"`
|
||||
Phone string `position:"Json" field:"phone"`
|
||||
ApplyIp string `position:"Json" field:"apply_ip"`
|
||||
OrderParts []OrderSubmitPart `position:"Json" field:"order_parts"`
|
||||
SmsCode string `position:"Json" field:"sms_code"`
|
||||
}
|
||||
type OrderSubmitResponse struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data struct {
|
||||
OrderNum string `json:"order_num"`
|
||||
} `json:"data"`
|
||||
}
|
||||
|
||||
func CreateOrderSubmitRequest(param OrderSubmitParam) (req *OrderSubmitRequest) {
|
||||
req = &OrderSubmitRequest{
|
||||
JsonRequest: &requests.JsonRequest{},
|
||||
GameId: param.GameId,
|
||||
UserName: param.UserName,
|
||||
Uid: param.Uid,
|
||||
RoleId: param.RoleId,
|
||||
RoleName: param.RoleName,
|
||||
ServerName: param.ServerName,
|
||||
OrderTemplateCode: param.OrderTemplateCode,
|
||||
Detail: param.Detail,
|
||||
Phone: param.Phone,
|
||||
ApplyIp: param.ApplyIp,
|
||||
OrderParts: param.OrderParts,
|
||||
SmsCode: param.SmsCode,
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_submit")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
func CreateOrderSubmitResponse() (resp *OrderSubmitResponse) {
|
||||
return &OrderSubmitResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
}
|
||||
|
||||
// OrderFurtherPartParam 工单补充资料
|
||||
type OrderFurtherPartParam struct {
|
||||
OrderNum string `json:"order_num"`
|
||||
OrderParts []OrderSubmitPart `json:"order_parts"`
|
||||
}
|
||||
type OrderFurtherPartRequest struct {
|
||||
*requests.JsonRequest
|
||||
OrderNum string `position:"Json" field:"order_num"`
|
||||
OrderParts []OrderSubmitPart `position:"Json" field:"order_parts"`
|
||||
}
|
||||
type OrderFurtherPartResponse struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
func CreateOrderFurtherPartRequest(param OrderFurtherPartParam) (req *OrderFurtherPartRequest) {
|
||||
req = &OrderFurtherPartRequest{
|
||||
JsonRequest: &requests.JsonRequest{},
|
||||
OrderNum: param.OrderNum,
|
||||
OrderParts: param.OrderParts,
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_further_data")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
func CreateOrderFurtherPartResponse() (resp *OrderFurtherPartResponse) {
|
||||
return &OrderFurtherPartResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
}
|
||||
|
135
services/cs/orderrecord.go
Normal file
135
services/cs/orderrecord.go
Normal file
@ -0,0 +1,135 @@
|
||||
package cs
|
||||
|
||||
import (
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||||
)
|
||||
|
||||
// 获取客服工单列表
|
||||
|
||||
type GetWorkOrderRecordListParam struct {
|
||||
OrderNum string `position:"Json" field:"order_num"`
|
||||
Page int64 `position:"Json" field:"page"`
|
||||
PageSize int64 `position:"Json" field:"page_size"`
|
||||
UserName string `position:"Json" field:"user_name"`
|
||||
GameId int64 `position:"Json" field:"game_id"`
|
||||
HandleStatus string `position:"Json" field:"handle_status"`
|
||||
}
|
||||
type OrderRecord struct {
|
||||
OrderNum string `json:"order_num"`
|
||||
WorkOrderTemplateFirstLevelName string `json:"work_order_template_first_level_name"`
|
||||
UserName string `json:"user_name"`
|
||||
GameId int64 `json:"game_id"`
|
||||
GameName string `json:"game_name"`
|
||||
RoleId string `json:"role_id"`
|
||||
RoleName string `json:"role_name"`
|
||||
ServerName string `json:"server_name"`
|
||||
Detail string `json:"detail"`
|
||||
ApplyTime string `json:"apply_time"`
|
||||
HandleStatus string `json:"handle_status"`
|
||||
HandleStatusName string `json:"handle_status_name"`
|
||||
IsUrgent int64 `json:"is_urgent"`
|
||||
IsAppraise int64 `json:"is_appraise"`
|
||||
FinishTime string `json:"finish_time"`
|
||||
OrderParts []*OrderSubmitPart `json:"order_parts"`
|
||||
Id int64 `json:"id"`
|
||||
WorkOrderTemplateFirstLevelId int64 `json:"work_order_template_first_level_id"`
|
||||
}
|
||||
|
||||
// PageInfoResp 分页响应
|
||||
type PageInfoResp struct {
|
||||
Page int `json:"page"`
|
||||
PageSize int `json:"page_size"`
|
||||
TotalNumber int `json:"total_number"`
|
||||
TotalPage int `json:"total_page"`
|
||||
}
|
||||
|
||||
type GetWorkOrderRecordListResponse struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Data struct {
|
||||
Data []*OrderRecord `json:"data"`
|
||||
PageInfo *PageInfoResp `json:"page_info"`
|
||||
} `json:"data"`
|
||||
Msg string `json:"msg"`
|
||||
TraceId string `json:"trace_id"`
|
||||
}
|
||||
type GetWorkOrderRecordListRequest struct {
|
||||
*requests.JsonRequest
|
||||
OrderNum string `position:"Json" field:"order_num"`
|
||||
Page int64 `position:"Json" field:"page"`
|
||||
PageSize int64 `position:"Json" field:"page_size"`
|
||||
UserName string `position:"Json" field:"user_name"`
|
||||
GameId int64 `position:"Json" field:"game_id"`
|
||||
HandleStatus string `position:"Json" field:"handle_status"`
|
||||
}
|
||||
|
||||
func CreateGetWorkOrderRecordListRequest(param GetWorkOrderRecordListParam) (req *GetWorkOrderRecordListRequest) {
|
||||
req = &GetWorkOrderRecordListRequest{
|
||||
JsonRequest: &requests.JsonRequest{},
|
||||
}
|
||||
req.OrderNum = param.OrderNum
|
||||
req.Page = param.Page
|
||||
req.PageSize = param.PageSize
|
||||
req.UserName = param.UserName
|
||||
req.GameId = param.GameId
|
||||
req.HandleStatus = param.HandleStatus
|
||||
|
||||
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_record_list")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
func CreateGetWorkOrderRecordListResponse() (resp *GetWorkOrderRecordListResponse) {
|
||||
resp = &GetWorkOrderRecordListResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 工单详情
|
||||
|
||||
type OrderDetailParam struct {
|
||||
OrderNum string `json:"order_num"`
|
||||
}
|
||||
type OrderLog struct {
|
||||
Id int64 `json:"id"`
|
||||
ApplyCount int64 `json:"apply_count"`
|
||||
ActionType string `json:"action_type"`
|
||||
PlayerLinkType string `json:"player_link_type"`
|
||||
PlayerLinkTypeName string `json:"player_link_type_name"`
|
||||
Content []*OrderSubmitPart `json:"content"`
|
||||
PicContent []*OrderSubmitPart `json:"pic_content"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
}
|
||||
|
||||
type OrderDetail struct {
|
||||
OrderRecord *OrderRecord `json:"order_record"`
|
||||
OrderLogs []*OrderLog `json:"order_logs"`
|
||||
}
|
||||
type GetWorkOrderRecordDetailResp struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Data OrderDetail `json:"data"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
type GetWorkOrderRecordDetailReq struct {
|
||||
*requests.JsonRequest
|
||||
OrderNum string `position:"Json" field:"order_num"`
|
||||
}
|
||||
|
||||
func CreateGetWorkOrderRecordDetailRequest(param OrderDetailParam) (req *GetWorkOrderRecordDetailReq) {
|
||||
req = &GetWorkOrderRecordDetailReq{
|
||||
JsonRequest: &requests.JsonRequest{},
|
||||
}
|
||||
req.OrderNum = param.OrderNum
|
||||
|
||||
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_record_detail")
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
func CreateGetWorkOrderRecordDetailResp() (resp *GetWorkOrderRecordDetailResp) {
|
||||
resp = &GetWorkOrderRecordDetailResp{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
return
|
||||
}
|
불러오는 중...
Reference in New Issue
Block a user