6
0

Compare commits

...

4 Commits

Author SHA1 Message Date
liguanjie
bc565ac059 【cs服务】
1、用户催单
2、用户评价工单
2025-06-11 15:24:35 +08:00
liguanjie
6a7cfdc82f 【cs服务】
1、获取工单补充字段设置
2、获取工单模板详情,字段设置
2025-06-11 15:02:19 +08:00
liguanjie
73ca794581 Merge branch 'develop/lgj' 2025-06-10 21:47:41 +08:00
huangqz
b69ed4b807 新增获取iOS切支付规则接口 2025-06-10 19:46:35 +08:00
7 changed files with 390 additions and 0 deletions

View File

@ -66,3 +66,31 @@ func (client *Client) Upload(req *UploadRequest) (resp *UploadResponse, err erro
err = client.DoAction(req, resp)
return
}
func (client *Client) GetOrderTemplateDetail(req *OrderTemplateDetailReq) (resp *OrderTemplateDetailResp, err error) {
resp = CreateOrderTemplateDetailResp()
err = client.DoAction(req, resp)
return
}
func (client *Client) GetOrderFurtherPart(req *GetOrderFurtherPartRequest) (resp *GetOrderFurtherPartResponse, err error) {
resp = CreateGetOrderFurtherPartResponse()
err = client.DoAction(req, resp)
return
}
func (client *Client) OrderUrgent(req *OrderUrgentRequest) (resp *OrderUrgentResponse, err error) {
resp = CreateOrderUrgentResponse()
err = client.DoAction(req, resp)
return
}
func (client *Client) OrderUpdateHandle(req *OrderUpdateHandleRequest) (resp *OrderUpdateHandleResponse, err error) {
resp = CreateOrderUpdateHandleResponse()
err = client.DoAction(req, resp)
return
}
func (client *Client) OrderAppraise(req *OrderAppraiseRequest) (resp *OrderAppraiseResponse, err error) {
resp = CreateOrderAppraiseResponse()
err = client.DoAction(req, resp)
return
}

View File

@ -127,3 +127,99 @@ func TestUpload(t *testing.T) {
}
fmt.Printf(fmt.Sprintf("%v", res))
}
// 工单模板查询
func TestGetOrderTemplateDetail(t *testing.T) {
client, newErr := NewClient()
if newErr != nil {
panic(newErr)
}
templateId := int64(12)
req := CreateOrderTemplateDetailReq(templateId)
res, err := client.GetOrderTemplateDetail(req)
if err != nil {
t.Error(err)
return
}
if res.Code != 0 {
t.Error("工单模板查询失败")
}
fmt.Printf(fmt.Sprintf("%v", res))
}
// 工单补充字段设置
func TestGetOrderFurtherPart(t *testing.T) {
client, newErr := NewClient()
if newErr != nil {
panic(newErr)
}
req := CreateGetOrderFurtherPartRequest(GetOrderFurtherPartParam{
OrderNum: "20250605092301764049"})
res, err := client.GetOrderFurtherPart(req)
if err != nil {
t.Error(err)
return
}
if res.Code != 0 {
t.Error("工单补充字段设置获取失败")
}
fmt.Printf(fmt.Sprintf("%v", res))
}
// 用户催单
func TestOrderUrgent(t *testing.T) {
client, newErr := NewClient()
if newErr != nil {
panic(newErr)
}
req := CreateOrderUrgentRequest(OrderUrgentParam{
OrderNum: "20250530173554491048"})
res, err := client.OrderUrgent(req)
if err != nil {
t.Error(err)
return
}
if res.Code != 0 {
t.Error("用户催单失败")
}
fmt.Printf(fmt.Sprintf("%v", res))
}
func TestOrderUpdateHandle(t *testing.T) {
client, newErr := NewClient()
if newErr != nil {
panic(newErr)
}
req := CreateOrderUpdateHandleRequest(OrderUpdateHandleParam{
IsHandle: 1,
OrderNum: "20250530173554491048"})
res, err := client.OrderUpdateHandle(req)
if err != nil {
t.Error(err)
return
}
if res.Code != 0 {
t.Error("用户催单失败")
}
fmt.Printf(fmt.Sprintf("%v", res))
}
func TestOrderAppraise(t *testing.T) {
client, newErr := NewClient()
if newErr != nil {
panic(newErr)
}
req := CreateOrderAppraiseRequest(OrderAppraiseParam{
OrderNum: "20250530173554491048",
Score: 5,
})
res, err := client.OrderAppraise(req)
if err != nil {
t.Error(err)
return
}
if res.Code != 0 {
t.Error("用户评价失败")
}
fmt.Printf(fmt.Sprintf("%v", res))
}

View File

@ -41,3 +41,133 @@ func CreateUploadResponse() (resp *UploadResponse) {
BaseResponse: &responses.BaseResponse{},
}
}
// 获取工单补充字段设置
// GetOrderFurtherPartParam 请求参数
type GetOrderFurtherPartParam struct {
OrderNum string `json:"order_num"`
}
type GetOrderFurtherPartRequest struct {
*requests.JsonRequest
OrderNum string `position:"Json" field:"order_num"`
}
type OrderFurtherPart struct {
OrderNum string `json:"order_num"`
FurtherParts []*OrderPart `json:"further_parts"`
}
type GetOrderFurtherPartResponse struct {
*responses.BaseResponse
Code int `json:"code"`
Data OrderFurtherPart `json:"data"`
Msg string `json:"msg"`
}
func CreateGetOrderFurtherPartRequest(param GetOrderFurtherPartParam) (req *GetOrderFurtherPartRequest) {
req = &GetOrderFurtherPartRequest{
JsonRequest: &requests.JsonRequest{},
OrderNum: param.OrderNum,
}
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/get_order_further_part")
req.Method = requests.POST
return
}
func CreateGetOrderFurtherPartResponse() (resp *GetOrderFurtherPartResponse) {
return &GetOrderFurtherPartResponse{
BaseResponse: &responses.BaseResponse{},
}
}
// OrderUrgentParam 用户催单
type OrderUrgentParam struct {
OrderNum string `json:"order_num"`
}
type OrderUrgentRequest struct {
*requests.JsonRequest
OrderNum string `position:"Json" field:"order_num"`
}
type OrderUrgentResponse struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
}
func CreateOrderUrgentRequest(param OrderUrgentParam) (req *OrderUrgentRequest) {
req = &OrderUrgentRequest{
JsonRequest: &requests.JsonRequest{},
OrderNum: param.OrderNum,
}
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_urgent")
req.Method = requests.POST
return
}
func CreateOrderUrgentResponse() (resp *OrderUrgentResponse) {
return &OrderUrgentResponse{
BaseResponse: &responses.BaseResponse{},
}
}
// OrderUpdateHandleParam 更新工单处理标识
type OrderUpdateHandleParam struct {
OrderNum string `json:"order_num"`
IsHandle int64 `json:"is_handle"`
}
type OrderUpdateHandleRequest struct {
*requests.JsonRequest
OrderNum string `position:"Json" field:"order_num"`
IsHandle int64 `position:"Json" field:"is_handle"`
}
type OrderUpdateHandleResponse struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
}
func CreateOrderUpdateHandleRequest(param OrderUpdateHandleParam) (req *OrderUpdateHandleRequest) {
req = &OrderUpdateHandleRequest{
JsonRequest: &requests.JsonRequest{},
OrderNum: param.OrderNum,
IsHandle: param.IsHandle,
}
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_handle")
req.Method = requests.POST
return
}
func CreateOrderUpdateHandleResponse() (resp *OrderUpdateHandleResponse) {
return &OrderUpdateHandleResponse{
BaseResponse: &responses.BaseResponse{},
}
}
// OrderAppraiseParam 用户评价工单
type OrderAppraiseParam struct {
OrderNum string `json:"order_num"`
Score int `json:"score"`
}
type OrderAppraiseRequest struct {
*requests.JsonRequest
OrderNum string `position:"Json" field:"order_num"`
Score int `position:"Json" field:"score"`
}
type OrderAppraiseResponse struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
}
func CreateOrderAppraiseRequest(param OrderAppraiseParam) (req *OrderAppraiseRequest) {
req = &OrderAppraiseRequest{
JsonRequest: &requests.JsonRequest{},
OrderNum: param.OrderNum,
Score: param.Score,
}
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order/order_appraise")
req.Method = requests.POST
return
}
func CreateOrderAppraiseResponse() (resp *OrderAppraiseResponse) {
return &OrderAppraiseResponse{
BaseResponse: &responses.BaseResponse{},
}
}

View File

@ -0,0 +1,55 @@
package cs
import (
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
)
// OrderTemplate 工单模板
type OrderTemplate struct {
Id int64 `json:"id"`
Name string `json:"name"`
UniqueCode string `json:"unique_code"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
TemplateParts []*OrderPart `json:"template_parts"`
}
// OrderPart 工单字段
type OrderPart struct {
Id int64 `json:"id"`
PartName string `json:"part_name"`
PartKey string `json:"part_key"`
PartType int64 `json:"part_type"`
IsRequire int64 `json:"is_require"`
TipsContent string `json:"tips_content"`
MaxNum int64 `json:"max_num"`
}
type OrderTemplateDetailReq struct {
*requests.JsonRequest
Id int64 `position:"Json" field:"id"`
}
type OrderTemplateDetailResp struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
Data OrderTemplate `json:"data"`
}
func CreateOrderTemplateDetailReq(templateId int64) (req *OrderTemplateDetailReq) {
req = &OrderTemplateDetailReq{
JsonRequest: &requests.JsonRequest{},
Id: templateId,
}
req.InitWithApiInfo(HOST, VERSION, "/v1/work_order_template/detail")
req.Method = requests.POST
return
}
func CreateOrderTemplateDetailResp() (response *OrderTemplateDetailResp) {
response = &OrderTemplateDetailResp{
BaseResponse: &responses.BaseResponse{},
}
return
}

View File

@ -75,3 +75,10 @@ func (c *Client) GetGameCompany(req *GetGameCompanyReq) (resp *GetGameCompanyRes
err = c.DoAction(req, resp)
return
}
// GetIsBlockOutIos 获取iOS切支付规则
func (c *Client) GetIsBlockOutIos(req *IsBlockOutIosReq) (resp *IsBlockOutIosResp, err error) {
resp = CreateIsBlockOutIosResp()
err = c.DoAction(req, resp)
return
}

View File

@ -120,3 +120,17 @@ func TestGetGameCompany(t *testing.T) {
fmt.Println(gameCompany)
fmt.Println(gameCompany.Data.System)
}
func TestIsBlockOutIos(t *testing.T) {
client, err := NewClient()
if err != nil {
t.Error(err)
}
isBlockOutIosReq := CreateIsBlockOutIosReq("ec63860282", 4570, "116.26.129.38", "", 0, 0)
isBlockOutIos, err := client.GetIsBlockOutIos(isBlockOutIosReq)
if err != nil {
t.Error(err)
return
}
t.Log(isBlockOutIos)
}

60
services/game/pay.go Normal file
View File

@ -0,0 +1,60 @@
package game
import (
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
)
// IsBlockOutIosReq
// 获取切支付规则
type IsBlockOutIosReq struct {
*requests.RpcRequest
UserName string `position:"Body" field:"user_name"`
GameId int64 `position:"Body" field:"appid"`
Ip string `position:"Body" field:"ip"`
Imei string `position:"Body" field:"imei"`
LoginDays int64 `position:"Body" field:"login_days"`
PlayTime int64 `position:"Body" field:"play_time"`
}
type IsBlockOutIosRespData struct {
PayInChannel bool `json:"pay_in_channel"`
PayInChannelMatchedRule []int64 `json:"pay_in_channel_matched_rule"`
DoDisplayIos bool `json:"do_display_ios"`
DoDisplayIosMatchedRule []int64 `json:"do_display_ios_matched_rule"`
DoDisplayWebsite bool `json:"do_display_website"`
DoDisplayWebsiteMatchedRule []int64 `json:"do_display_website_matched_rule"`
DoDisplayWebsiteWechatInfo string `json:"do_display_website_wechat_info"`
DoWebOrderPay bool `json:"do_web_order_pay"`
DoWebOrderPayMatchedRule []int64 `json:"do_web_order_pay_matched_rule"`
DoWebOrderPayWechatInfo string `json:"do_web_order_pay_wechat_info"`
}
type IsBlockOutIosResp struct {
*responses.BaseResponse
Code int `json:"code"`
Msg string `json:"msg"`
Data IsBlockOutIosRespData `json:"data"`
}
func CreateIsBlockOutIosReq(userName string, gameId int64, ip string, imei string, loginDays, playTime int64) *IsBlockOutIosReq {
req := &IsBlockOutIosReq{
RpcRequest: &requests.RpcRequest{},
}
req.UserName = userName
req.GameId = gameId
req.Ip = ip
req.Imei = imei
req.LoginDays = loginDays
req.PlayTime = playTime
req.InitWithApiInfo(HOST, VERSION, "/api/pay/isBlockOutIos")
req.Method = requests.POST
return req
}
func CreateIsBlockOutIosResp() *IsBlockOutIosResp {
resp := &IsBlockOutIosResp{
BaseResponse: &responses.BaseResponse{},
}
return resp
}