diff --git a/.gitignore b/.gitignore index 70c2ca08c..6888b2131 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ jx-callback *.tmp -swagger/ debug .DS_Store *.log diff --git a/swagger/param_parser.go.txt b/swagger/param_parser.go.txt new file mode 100644 index 000000000..a7929d92f --- /dev/null +++ b/swagger/param_parser.go.txt @@ -0,0 +1,16896 @@ + +// this file was automatically generated by modified bee tool (https://github.com/GazeboXu/bee) +// bee generate docs +// please don't modify it manually!!! +package controllers + +import ( + "encoding/json" + "fmt" + "strings" + "time" + "net/http" + ""gitrosy.jxc4.com/jx-callback/business/jxstore/event" + ""gitrosy.jxc4.com/jx-callback/business/jxstore/cms" + + ""gitrosy.jxc4.com/baseapi/utils" + ""gitrosy.jxc4.com/jx-callback/business/jxutils/jsonerr" + ""gitrosy.jxc4.com/jx-callback/business/jxutils/jxcontext" + ""gitrosy.jxc4.com/jx-callback/business/model" + ""gitrosy.jxc4.com/jx-callback/globals" +) + +const ( + strRequiredParamIsEmpty = "参数[%s]为空或数值不合法!" +) + +type tJobGetJobsParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserIDs string + CategoryIDs string + Statuss string + VendorIDs string + CityCodes string + IncludeStep bool + FromTime string + ToTime string + Lng float64 + Lat float64 + Span int + Keyword string + SortType int + Offset int + PageSize int +} + +// func (c *JobController) GetJobs() { +// c.callGetJobs(func(params *tJobGetJobsParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetJobs(handler func(params *tJobGetJobsParams) (interface{}, string, error)) { + var err error + params := &tJobGetJobsParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserIDs = utils.TrimBlankChar(c.GetString("userIDs")) + params.CategoryIDs = utils.TrimBlankChar(c.GetString("categoryIDs")) + params.Statuss = utils.TrimBlankChar(c.GetString("statuss")) + params.VendorIDs = utils.TrimBlankChar(c.GetString("vendorIDs")) + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + if params.IncludeStep, err = c.GetBool("includeStep", false); err != nil { + errParams = append(errParams, "includeStep") + } + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + if params.Span, err = c.GetInt("span", 0); err != nil { + errParams = append(errParams, "span") + } + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if params.SortType, err = c.GetInt("sortType", 0); err != nil { + errParams = append(errParams, "sortType") + } + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if utils.TrimBlankChar(c.GetString("userIDs")) != "" { + params.MapData["userIDs"] = params.UserIDs + } + if utils.TrimBlankChar(c.GetString("categoryIDs")) != "" { + params.MapData["categoryIDs"] = params.CategoryIDs + } + if utils.TrimBlankChar(c.GetString("statuss")) != "" { + params.MapData["statuss"] = params.Statuss + } + if utils.TrimBlankChar(c.GetString("vendorIDs")) != "" { + params.MapData["vendorIDs"] = params.VendorIDs + } + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if utils.TrimBlankChar(c.GetString("includeStep")) != "" { + params.MapData["includeStep"] = params.IncludeStep + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("lng")) != "" { + params.MapData["lng"] = params.Lng + } + if utils.TrimBlankChar(c.GetString("lat")) != "" { + params.MapData["lat"] = params.Lat + } + if utils.TrimBlankChar(c.GetString("span")) != "" { + params.MapData["span"] = params.Span + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("sortType")) != "" { + params.MapData["sortType"] = params.SortType + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetJobs, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetJobs, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetJobs error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tWithdrawalDeleteWithdrawalRecordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Id int +} + +// func (c *WithdrawalRecordController) DeleteWithdrawalRecord() { +// c.callDeleteWithdrawalRecord(func(params *tWithdrawalDeleteWithdrawalRecordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *WithdrawalRecordController) callDeleteWithdrawalRecord(handler func(params *tWithdrawalDeleteWithdrawalRecordParams) (interface{}, string, error)) { + var err error + params := &tWithdrawalDeleteWithdrawalRecordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Id, err = c.GetInt("id", 0); err != nil { + errParams = append(errParams, "id") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("id") == "" { + errParams = append(errParams, "id") + } + params.MapData["id"] = params.Id + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API WithdrawalRecordController.DeleteWithdrawalRecord, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API WithdrawalRecordController.DeleteWithdrawalRecord, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API WithdrawalRecordController.DeleteWithdrawalRecord error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tRechargeGetRechargeOrderDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderId string + Mobile string +} + +// func (c *RechargeManagerController) GetRechargeOrderDetail() { +// c.callGetRechargeOrderDetail(func(params *tRechargeGetRechargeOrderDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *RechargeManagerController) callGetRechargeOrderDetail(handler func(params *tRechargeGetRechargeOrderDetailParams) (interface{}, string, error)) { + var err error + params := &tRechargeGetRechargeOrderDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderId = utils.TrimBlankChar(c.GetString("orderId")) + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("orderId") == "" { + errParams = append(errParams, "orderId") + } + params.MapData["orderId"] = params.OrderId + if c.GetString("mobile") == "" { + errParams = append(errParams, "mobile") + } + params.MapData["mobile"] = params.Mobile + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API RechargeManagerController.GetRechargeOrderDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API RechargeManagerController.GetRechargeOrderDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API RechargeManagerController.GetRechargeOrderDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2InvestMemberParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + MemberID int +} + +// func (c *User2Controller) InvestMember() { +// c.callInvestMember(func(params *tUser2InvestMemberParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callInvestMember(handler func(params *tUser2InvestMemberParams) (interface{}, string, error)) { + var err error + params := &tUser2InvestMemberParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.MemberID, err = c.GetInt("memberID", 0); err != nil { + errParams = append(errParams, "memberID") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("memberID") == "" { + errParams = append(errParams, "memberID") + } + params.MapData["memberID"] = params.MemberID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.InvestMember, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.InvestMember, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.InvestMember error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetJobOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + JobUserID string + JobOrderID int + CategoryID string + Statuss string + FromTime string + ToTime string + Offset int + PageSize int +} + +// func (c *JobController) GetJobOrders() { +// c.callGetJobOrders(func(params *tJobGetJobOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetJobOrders(handler func(params *tJobGetJobOrdersParams) (interface{}, string, error)) { + var err error + params := &tJobGetJobOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + params.JobUserID = utils.TrimBlankChar(c.GetString("jobUserID")) + if params.JobOrderID, err = c.GetInt("jobOrderID", 0); err != nil { + errParams = append(errParams, "jobOrderID") + } + params.CategoryID = utils.TrimBlankChar(c.GetString("categoryID")) + params.Statuss = utils.TrimBlankChar(c.GetString("statuss")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("userID")) != "" { + params.MapData["userID"] = params.UserID + } + if utils.TrimBlankChar(c.GetString("jobUserID")) != "" { + params.MapData["jobUserID"] = params.JobUserID + } + if utils.TrimBlankChar(c.GetString("jobOrderID")) != "" { + params.MapData["jobOrderID"] = params.JobOrderID + } + if utils.TrimBlankChar(c.GetString("categoryID")) != "" { + params.MapData["categoryID"] = params.CategoryID + } + if utils.TrimBlankChar(c.GetString("statuss")) != "" { + params.MapData["statuss"] = params.Statuss + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetJobOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetJobOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetJobOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobAcceptJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobID int + DropShippingDeliveryID int + DropShippingCount int +} + +// func (c *JobController) AcceptJob() { +// c.callAcceptJob(func(params *tJobAcceptJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callAcceptJob(handler func(params *tJobAcceptJobParams) (interface{}, string, error)) { + var err error + params := &tJobAcceptJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobID, err = c.GetInt("jobID", 0); err != nil { + errParams = append(errParams, "jobID") + } + if params.DropShippingDeliveryID, err = c.GetInt("dropShippingDeliveryID", 0); err != nil { + errParams = append(errParams, "dropShippingDeliveryID") + } + if params.DropShippingCount, err = c.GetInt("dropShippingCount", 0); err != nil { + errParams = append(errParams, "dropShippingCount") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobID") == "" { + errParams = append(errParams, "jobID") + } + params.MapData["jobID"] = params.JobID + if utils.TrimBlankChar(c.GetString("dropShippingDeliveryID")) != "" { + params.MapData["dropShippingDeliveryID"] = params.DropShippingDeliveryID + } + if utils.TrimBlankChar(c.GetString("dropShippingCount")) != "" { + params.MapData["dropShippingCount"] = params.DropShippingCount + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.AcceptJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.AcceptJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.AcceptJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2DingDingOAuth2Params struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Code string + Block string + State string +} + +// func (c *Auth2Controller) DingDingOAuth2() { +// c.callDingDingOAuth2(func(params *tAuth2DingDingOAuth2Params) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callDingDingOAuth2(handler func(params *tAuth2DingDingOAuth2Params) (interface{}, string, error)) { + var err error + params := &tAuth2DingDingOAuth2Params{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Code = utils.TrimBlankChar(c.GetString("code")) + params.Block = utils.TrimBlankChar(c.GetString("block")) + params.State = utils.TrimBlankChar(c.GetString("state")) + if c.GetString("code") == "" { + errParams = append(errParams, "code") + } + params.MapData["code"] = params.Code + if utils.TrimBlankChar(c.GetString("block")) != "" { + params.MapData["block"] = params.Block + } + if utils.TrimBlankChar(c.GetString("state")) != "" { + params.MapData["state"] = params.State + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.DingDingOAuth2, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.DingDingOAuth2, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.DingDingOAuth2 error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2AcceptAddGroupParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Flag int +} + +// func (c *User2Controller) AcceptAddGroup() { +// c.callAcceptAddGroup(func(params *tUser2AcceptAddGroupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callAcceptAddGroup(handler func(params *tUser2AcceptAddGroupParams) (interface{}, string, error)) { + var err error + params := &tUser2AcceptAddGroupParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Flag, err = c.GetInt("flag", 0); err != nil { + errParams = append(errParams, "flag") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("flag") == "" { + errParams = append(errParams, "flag") + } + params.MapData["flag"] = params.Flag + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.AcceptAddGroup, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.AcceptAddGroup, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.AcceptAddGroup error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobAuditJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobOrderID int + Status int + Comment string + VendorWaybillID string +} + +// func (c *JobController) AuditJob() { +// c.callAuditJob(func(params *tJobAuditJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callAuditJob(handler func(params *tJobAuditJobParams) (interface{}, string, error)) { + var err error + params := &tJobAuditJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobOrderID, err = c.GetInt("jobOrderID", 0); err != nil { + errParams = append(errParams, "jobOrderID") + } + if params.Status, err = c.GetInt("status", 0); err != nil { + errParams = append(errParams, "status") + } + params.Comment = utils.TrimBlankChar(c.GetString("comment")) + params.VendorWaybillID = utils.TrimBlankChar(c.GetString("vendorWaybillID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobOrderID") == "" { + errParams = append(errParams, "jobOrderID") + } + params.MapData["jobOrderID"] = params.JobOrderID + if c.GetString("status") == "" { + errParams = append(errParams, "status") + } + params.MapData["status"] = params.Status + if utils.TrimBlankChar(c.GetString("comment")) != "" { + params.MapData["comment"] = params.Comment + } + if utils.TrimBlankChar(c.GetString("vendorWaybillID")) != "" { + params.MapData["vendorWaybillID"] = params.VendorWaybillID + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.AuditJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.AuditJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.AuditJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsInitStationParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *CmsController) InitStation() { +// c.callInitStation(func(params *tCmsInitStationParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callInitStation(handler func(params *tCmsInitStationParams) (interface{}, string, error)) { + var err error + params := &tCmsInitStationParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.InitStation, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.InitStation, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.InitStation error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressCancelWayVendorOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Genre int + OrderNo string + Type int +} + +// func (c *QBiDaExpressController) CancelWayVendorOrder() { +// c.callCancelWayVendorOrder(func(params *tExpressCancelWayVendorOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callCancelWayVendorOrder(handler func(params *tExpressCancelWayVendorOrderParams) (interface{}, string, error)) { + var err error + params := &tExpressCancelWayVendorOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Genre, err = c.GetInt("genre", 0); err != nil { + errParams = append(errParams, "genre") + } + params.OrderNo = utils.TrimBlankChar(c.GetString("orderNo")) + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("genre") == "" { + errParams = append(errParams, "genre") + } + params.MapData["genre"] = params.Genre + if c.GetString("orderNo") == "" { + errParams = append(errParams, "orderNo") + } + params.MapData["orderNo"] = params.OrderNo + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.CancelWayVendorOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.CancelWayVendorOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.CancelWayVendorOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsInitPlaceParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *CmsController) InitPlace() { +// c.callInitPlace(func(params *tCmsInitPlaceParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callInitPlace(handler func(params *tCmsInitPlaceParams) (interface{}, string, error)) { + var err error + params := &tCmsInitPlaceParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.InitPlace, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.InitPlace, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.InitPlace error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOpenapiCallOpenAPIParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + App_id string + Timestamp int + Sign string + Method string +} + +// func (c *ApiController) CallOpenAPI() { +// c.callCallOpenAPI(func(params *tOpenapiCallOpenAPIParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *ApiController) callCallOpenAPI(handler func(params *tOpenapiCallOpenAPIParams) (interface{}, string, error)) { + var err error + params := &tOpenapiCallOpenAPIParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.App_id = utils.TrimBlankChar(c.GetString("app_id")) + if params.Timestamp, err = c.GetInt("timestamp", 0); err != nil { + errParams = append(errParams, "timestamp") + } + params.Sign = utils.TrimBlankChar(c.GetString("sign")) + params.Method = utils.TrimBlankChar(c.GetString("method")) + if utils.TrimBlankChar(c.GetString("app_id")) != "" { + params.MapData["app_id"] = params.App_id + } + if utils.TrimBlankChar(c.GetString("timestamp")) != "" { + params.MapData["timestamp"] = params.Timestamp + } + if utils.TrimBlankChar(c.GetString("sign")) != "" { + params.MapData["sign"] = params.Sign + } + if utils.TrimBlankChar(c.GetString("method")) != "" { + params.MapData["method"] = params.Method + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API ApiController.CallOpenAPI, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API ApiController.CallOpenAPI, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API ApiController.CallOpenAPI error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventCreateMessageGroupParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + UserID2 string + Name string + DividePercentage int + QuitPrice int +} + +// func (c *EventController) CreateMessageGroup() { +// c.callCreateMessageGroup(func(params *tEventCreateMessageGroupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callCreateMessageGroup(handler func(params *tEventCreateMessageGroupParams) (interface{}, string, error)) { + var err error + params := &tEventCreateMessageGroupParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + params.UserID2 = utils.TrimBlankChar(c.GetString("userID2")) + params.Name = utils.TrimBlankChar(c.GetString("name")) + if params.DividePercentage, err = c.GetInt("dividePercentage", 0); err != nil { + errParams = append(errParams, "dividePercentage") + } + if params.QuitPrice, err = c.GetInt("quitPrice", 0); err != nil { + errParams = append(errParams, "quitPrice") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if utils.TrimBlankChar(c.GetString("userID2")) != "" { + params.MapData["userID2"] = params.UserID2 + } + if utils.TrimBlankChar(c.GetString("name")) != "" { + params.MapData["name"] = params.Name + } + if utils.TrimBlankChar(c.GetString("dividePercentage")) != "" { + params.MapData["dividePercentage"] = params.DividePercentage + } + if utils.TrimBlankChar(c.GetString("quitPrice")) != "" { + params.MapData["quitPrice"] = params.QuitPrice + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.CreateMessageGroup, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.CreateMessageGroup, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.CreateMessageGroup error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsDeleteConfigParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type string + Key string +} + +// func (c *CmsController) DeleteConfig() { +// c.callDeleteConfig(func(params *tCmsDeleteConfigParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callDeleteConfig(handler func(params *tCmsDeleteConfigParams) (interface{}, string, error)) { + var err error + params := &tCmsDeleteConfigParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Type = utils.TrimBlankChar(c.GetString("type")) + params.Key = utils.TrimBlankChar(c.GetString("key")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if c.GetString("key") == "" { + errParams = append(errParams, "key") + } + params.MapData["key"] = params.Key + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.DeleteConfig, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.DeleteConfig, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.DeleteConfig error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tRechargeSystemQueryRechargeListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderId string + Mobile string + RechargeStatus int + Page int + PageSize int + StartTime string + EndTime string + UserName string +} + +// func (c *RechargeManagerController) SystemQueryRechargeList() { +// c.callSystemQueryRechargeList(func(params *tRechargeSystemQueryRechargeListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *RechargeManagerController) callSystemQueryRechargeList(handler func(params *tRechargeSystemQueryRechargeListParams) (interface{}, string, error)) { + var err error + params := &tRechargeSystemQueryRechargeListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderId = utils.TrimBlankChar(c.GetString("orderId")) + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + if params.RechargeStatus, err = c.GetInt("rechargeStatus", 0); err != nil { + errParams = append(errParams, "rechargeStatus") + } + if params.Page, err = c.GetInt("page", 0); err != nil { + errParams = append(errParams, "page") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + params.StartTime = utils.TrimBlankChar(c.GetString("startTime")) + params.EndTime = utils.TrimBlankChar(c.GetString("endTime")) + params.UserName = utils.TrimBlankChar(c.GetString("userName")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("orderId")) != "" { + params.MapData["orderId"] = params.OrderId + } + if utils.TrimBlankChar(c.GetString("mobile")) != "" { + params.MapData["mobile"] = params.Mobile + } + if utils.TrimBlankChar(c.GetString("rechargeStatus")) != "" { + params.MapData["rechargeStatus"] = params.RechargeStatus + } + if c.GetString("page") == "" { + errParams = append(errParams, "page") + } + params.MapData["page"] = params.Page + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if c.GetString("startTime") == "" { + errParams = append(errParams, "startTime") + } + params.MapData["startTime"] = params.StartTime + if c.GetString("endTime") == "" { + errParams = append(errParams, "endTime") + } + params.MapData["endTime"] = params.EndTime + if utils.TrimBlankChar(c.GetString("userName")) != "" { + params.MapData["userName"] = params.UserName + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API RechargeManagerController.SystemQueryRechargeList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API RechargeManagerController.SystemQueryRechargeList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API RechargeManagerController.SystemQueryRechargeList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2SaveMyCartParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + StoreID int + Payload string +} + +// func (c *User2Controller) SaveMyCart() { +// c.callSaveMyCart(func(params *tUser2SaveMyCartParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callSaveMyCart(handler func(params *tUser2SaveMyCartParams) (interface{}, string, error)) { + var err error + params := &tUser2SaveMyCartParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.StoreID, err = c.GetInt("storeID", 0); err != nil { + errParams = append(errParams, "storeID") + } + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("storeID") == "" { + errParams = append(errParams, "storeID") + } + params.MapData["storeID"] = params.StoreID + if utils.TrimBlankChar(c.GetString("payload")) != "" { + params.MapData["payload"] = params.Payload + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.SaveMyCart, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.SaveMyCart, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.SaveMyCart error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2DeleteMyDeliveryAddressParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Id int +} + +// func (c *User2Controller) DeleteMyDeliveryAddress() { +// c.callDeleteMyDeliveryAddress(func(params *tUser2DeleteMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callDeleteMyDeliveryAddress(handler func(params *tUser2DeleteMyDeliveryAddressParams) (interface{}, string, error)) { + var err error + params := &tUser2DeleteMyDeliveryAddressParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Id, err = c.GetInt("id", 0); err != nil { + errParams = append(errParams, "id") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("id") == "" { + errParams = append(errParams, "id") + } + params.MapData["id"] = params.Id + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.DeleteMyDeliveryAddress, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.DeleteMyDeliveryAddress, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.DeleteMyDeliveryAddress error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobImprotMtMembersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *JobController) ImprotMtMembers() { +// c.callImprotMtMembers(func(params *tJobImprotMtMembersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callImprotMtMembers(handler func(params *tJobImprotMtMembersParams) (interface{}, string, error)) { + var err error + params := &tJobImprotMtMembersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.ImprotMtMembers, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.ImprotMtMembers, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.ImprotMtMembers error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobRefreshJdDeliveryParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *JobController) RefreshJdDelivery() { +// c.callRefreshJdDelivery(func(params *tJobRefreshJdDeliveryParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callRefreshJdDelivery(handler func(params *tJobRefreshJdDeliveryParams) (interface{}, string, error)) { + var err error + params := &tJobRefreshJdDeliveryParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.RefreshJdDelivery, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.RefreshJdDelivery, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.RefreshJdDelivery error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventGetUserStatisticsParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *EventController) GetUserStatistics() { +// c.callGetUserStatistics(func(params *tEventGetUserStatisticsParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callGetUserStatistics(handler func(params *tEventGetUserStatisticsParams) (interface{}, string, error)) { + var err error + params := &tEventGetUserStatisticsParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.GetUserStatistics, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.GetUserStatistics, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.GetUserStatistics error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2AddAuthBindParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + AuthToken string +} + +// func (c *Auth2Controller) AddAuthBind() { +// c.callAddAuthBind(func(params *tAuth2AddAuthBindParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callAddAuthBind(handler func(params *tAuth2AddAuthBindParams) (interface{}, string, error)) { + var err error + params := &tAuth2AddAuthBindParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.AuthToken = utils.TrimBlankChar(c.GetString("authToken")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("authToken") == "" { + errParams = append(errParams, "authToken") + } + params.MapData["authToken"] = params.AuthToken + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.AddAuthBind, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.AddAuthBind, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.AddAuthBind error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2AddUserCityManagerParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + CityCode int +} + +// func (c *User2Controller) AddUserCityManager() { +// c.callAddUserCityManager(func(params *tUser2AddUserCityManagerParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callAddUserCityManager(handler func(params *tUser2AddUserCityManagerParams) (interface{}, string, error)) { + var err error + params := &tUser2AddUserCityManagerParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if c.GetString("cityCode") == "" { + errParams = append(errParams, "cityCode") + } + params.MapData["cityCode"] = params.CityCode + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.AddUserCityManager, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.AddUserCityManager, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.AddUserCityManager error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderGetMyUnionOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Statuss string + VendorID int + Offset int + PageSize int +} + +// func (c *OrderController) GetMyUnionOrders() { +// c.callGetMyUnionOrders(func(params *tOrderGetMyUnionOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetMyUnionOrders(handler func(params *tOrderGetMyUnionOrdersParams) (interface{}, string, error)) { + var err error + params := &tOrderGetMyUnionOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Statuss = utils.TrimBlankChar(c.GetString("statuss")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("statuss")) != "" { + params.MapData["statuss"] = params.Statuss + } + if utils.TrimBlankChar(c.GetString("vendorID")) != "" { + params.MapData["vendorID"] = params.VendorID + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.GetMyUnionOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.GetMyUnionOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.GetMyUnionOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2AddAuthBindWithMobileParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + AuthToken string + Mobile string +} + +// func (c *Auth2Controller) AddAuthBindWithMobile() { +// c.callAddAuthBindWithMobile(func(params *tAuth2AddAuthBindWithMobileParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callAddAuthBindWithMobile(handler func(params *tAuth2AddAuthBindWithMobileParams) (interface{}, string, error)) { + var err error + params := &tAuth2AddAuthBindWithMobileParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.AuthToken = utils.TrimBlankChar(c.GetString("authToken")) + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("authToken") == "" { + errParams = append(errParams, "authToken") + } + params.MapData["authToken"] = params.AuthToken + if c.GetString("mobile") == "" { + errParams = append(errParams, "mobile") + } + params.MapData["mobile"] = params.Mobile + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.AddAuthBindWithMobile, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.AddAuthBindWithMobile, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.AddAuthBindWithMobile error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2WeixinOAuth2Params struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Code string + Block string + State string +} + +// func (c *Auth2Controller) WeixinOAuth2() { +// c.callWeixinOAuth2(func(params *tAuth2WeixinOAuth2Params) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callWeixinOAuth2(handler func(params *tAuth2WeixinOAuth2Params) (interface{}, string, error)) { + var err error + params := &tAuth2WeixinOAuth2Params{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Code = utils.TrimBlankChar(c.GetString("code")) + params.Block = utils.TrimBlankChar(c.GetString("block")) + params.State = utils.TrimBlankChar(c.GetString("state")) + if c.GetString("code") == "" { + errParams = append(errParams, "code") + } + params.MapData["code"] = params.Code + if c.GetString("block") == "" { + errParams = append(errParams, "block") + } + params.MapData["block"] = params.Block + if utils.TrimBlankChar(c.GetString("state")) != "" { + params.MapData["state"] = params.State + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.WeixinOAuth2, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.WeixinOAuth2, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.WeixinOAuth2 error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderCreateOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type int + OrderType int + Way string + Price int + Lng float64 + Lat float64 + Mobile string + FlowCode string +} + +// func (c *OrderController) CreateOrder() { +// c.callCreateOrder(func(params *tOrderCreateOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callCreateOrder(handler func(params *tOrderCreateOrderParams) (interface{}, string, error)) { + var err error + params := &tOrderCreateOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + if params.OrderType, err = c.GetInt("orderType", 0); err != nil { + errParams = append(errParams, "orderType") + } + params.Way = utils.TrimBlankChar(c.GetString("way")) + if params.Price, err = c.GetInt("price", 0); err != nil { + errParams = append(errParams, "price") + } + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + params.FlowCode = utils.TrimBlankChar(c.GetString("flowCode")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if c.GetString("orderType") == "" { + errParams = append(errParams, "orderType") + } + params.MapData["orderType"] = params.OrderType + if c.GetString("way") == "" { + errParams = append(errParams, "way") + } + params.MapData["way"] = params.Way + if c.GetString("price") == "" { + errParams = append(errParams, "price") + } + params.MapData["price"] = params.Price + if c.GetString("lng") == "" { + errParams = append(errParams, "lng") + } + params.MapData["lng"] = params.Lng + if c.GetString("lat") == "" { + errParams = append(errParams, "lat") + } + params.MapData["lat"] = params.Lat + if utils.TrimBlankChar(c.GetString("mobile")) != "" { + params.MapData["mobile"] = params.Mobile + } + if utils.TrimBlankChar(c.GetString("flowCode")) != "" { + params.MapData["flowCode"] = params.FlowCode + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.CreateOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.CreateOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.CreateOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobCancelAcceptJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobID int + JobOrderID int +} + +// func (c *JobController) CancelAcceptJob() { +// c.callCancelAcceptJob(func(params *tJobCancelAcceptJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callCancelAcceptJob(handler func(params *tJobCancelAcceptJobParams) (interface{}, string, error)) { + var err error + params := &tJobCancelAcceptJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobID, err = c.GetInt("jobID", 0); err != nil { + errParams = append(errParams, "jobID") + } + if params.JobOrderID, err = c.GetInt("jobOrderID", 0); err != nil { + errParams = append(errParams, "jobOrderID") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobID") == "" { + errParams = append(errParams, "jobID") + } + params.MapData["jobID"] = params.JobID + if c.GetString("jobOrderID") == "" { + errParams = append(errParams, "jobOrderID") + } + params.MapData["jobOrderID"] = params.JobOrderID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.CancelAcceptJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.CancelAcceptJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.CancelAcceptJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobCheckJdDeliveryWeightParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *JobController) CheckJdDeliveryWeight() { +// c.callCheckJdDeliveryWeight(func(params *tJobCheckJdDeliveryWeightParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callCheckJdDeliveryWeight(handler func(params *tJobCheckJdDeliveryWeightParams) (interface{}, string, error)) { + var err error + params := &tJobCheckJdDeliveryWeightParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.CheckJdDeliveryWeight, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.CheckJdDeliveryWeight, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.CheckJdDeliveryWeight error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetJobDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobID int + Lng float64 + Lat float64 +} + +// func (c *JobController) GetJobDetail() { +// c.callGetJobDetail(func(params *tJobGetJobDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetJobDetail(handler func(params *tJobGetJobDetailParams) (interface{}, string, error)) { + var err error + params := &tJobGetJobDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobID, err = c.GetInt("jobID", 0); err != nil { + errParams = append(errParams, "jobID") + } + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if utils.TrimBlankChar(c.GetString("jobID")) != "" { + params.MapData["jobID"] = params.JobID + } + if utils.TrimBlankChar(c.GetString("lng")) != "" { + params.MapData["lng"] = params.Lng + } + if utils.TrimBlankChar(c.GetString("lat")) != "" { + params.MapData["lat"] = params.Lat + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetJobDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetJobDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetJobDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tTaskUnmanageTasksParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + TaskIDs string +} + +// func (c *TaskController) UnmanageTasks() { +// c.callUnmanageTasks(func(params *tTaskUnmanageTasksParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *TaskController) callUnmanageTasks(handler func(params *tTaskUnmanageTasksParams) (interface{}, string, error)) { + var err error + params := &tTaskUnmanageTasksParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.TaskIDs = utils.TrimBlankChar(c.GetString("taskIDs")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("taskIDs")) != "" { + params.MapData["taskIDs"] = params.TaskIDs + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API TaskController.UnmanageTasks, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API TaskController.UnmanageTasks, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API TaskController.UnmanageTasks error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderPayParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderID string + PayType int + VendorPayType string + OrderType string + AppId string + IsChoose int +} + +// func (c *OrderController) Pay() { +// c.callPay(func(params *tOrderPayParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callPay(handler func(params *tOrderPayParams) (interface{}, string, error)) { + var err error + params := &tOrderPayParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderID = utils.TrimBlankChar(c.GetString("orderID")) + if params.PayType, err = c.GetInt("payType", 0); err != nil { + errParams = append(errParams, "payType") + } + params.VendorPayType = utils.TrimBlankChar(c.GetString("vendorPayType")) + params.OrderType = utils.TrimBlankChar(c.GetString("orderType")) + params.AppId = utils.TrimBlankChar(c.GetString("appId")) + if params.IsChoose, err = c.GetInt("isChoose", 0); err != nil { + errParams = append(errParams, "isChoose") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("orderID") == "" { + errParams = append(errParams, "orderID") + } + params.MapData["orderID"] = params.OrderID + if c.GetString("payType") == "" { + errParams = append(errParams, "payType") + } + params.MapData["payType"] = params.PayType + if c.GetString("vendorPayType") == "" { + errParams = append(errParams, "vendorPayType") + } + params.MapData["vendorPayType"] = params.VendorPayType + if c.GetString("orderType") == "" { + errParams = append(errParams, "orderType") + } + params.MapData["orderType"] = params.OrderType + if c.GetString("appId") == "" { + errParams = append(errParams, "appId") + } + params.MapData["appId"] = params.AppId + if c.GetString("isChoose") == "" { + errParams = append(errParams, "isChoose") + } + params.MapData["isChoose"] = params.IsChoose + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.Pay, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.Pay, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.Pay error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobAddressDistinguishParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Address string +} + +// func (c *JobController) AddressDistinguish() { +// c.callAddressDistinguish(func(params *tJobAddressDistinguishParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callAddressDistinguish(handler func(params *tJobAddressDistinguishParams) (interface{}, string, error)) { + var err error + params := &tJobAddressDistinguishParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Address = utils.TrimBlankChar(c.GetString("address")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("address")) != "" { + params.MapData["address"] = params.Address + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.AddressDistinguish, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.AddressDistinguish, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.AddressDistinguish error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetJdDeliveryParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Status int + FromTime string + ToTime string + Offset int + PageSize int +} + +// func (c *JobController) GetJdDelivery() { +// c.callGetJdDelivery(func(params *tJobGetJdDeliveryParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetJdDelivery(handler func(params *tJobGetJdDeliveryParams) (interface{}, string, error)) { + var err error + params := &tJobGetJdDeliveryParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Status, err = c.GetInt("status", 0); err != nil { + errParams = append(errParams, "status") + } + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("status")) != "" { + params.MapData["status"] = params.Status + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetJdDelivery, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetJdDelivery, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetJdDelivery error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetJobCategoriesParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Name string +} + +// func (c *JobController) GetJobCategories() { +// c.callGetJobCategories(func(params *tJobGetJobCategoriesParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetJobCategories(handler func(params *tJobGetJobCategoriesParams) (interface{}, string, error)) { + var err error + params := &tJobGetJobCategoriesParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Name = utils.TrimBlankChar(c.GetString("name")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("name")) != "" { + params.MapData["name"] = params.Name + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetJobCategories, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetJobCategories, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetJobCategories error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tBalanceUpdateUserBalanceParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Phone string + UserID string + Money int +} + +// func (c *UserBalanceController) UpdateUserBalance() { +// c.callUpdateUserBalance(func(params *tBalanceUpdateUserBalanceParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UserBalanceController) callUpdateUserBalance(handler func(params *tBalanceUpdateUserBalanceParams) (interface{}, string, error)) { + var err error + params := &tBalanceUpdateUserBalanceParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Phone = utils.TrimBlankChar(c.GetString("phone")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Money, err = c.GetInt("money", 0); err != nil { + errParams = append(errParams, "money") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("phone") == "" { + errParams = append(errParams, "phone") + } + params.MapData["phone"] = params.Phone + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if utils.TrimBlankChar(c.GetString("money")) != "" { + params.MapData["money"] = params.Money + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UserBalanceController.UpdateUserBalance, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UserBalanceController.UpdateUserBalance, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UserBalanceController.UpdateUserBalance error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventUploadImgParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *EventController) UploadImg() { +// c.callUploadImg(func(params *tEventUploadImgParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callUploadImg(handler func(params *tEventUploadImgParams) (interface{}, string, error)) { + var err error + params := &tEventUploadImgParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.UploadImg, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.UploadImg, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.UploadImg error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressCreateWayOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + PromiseTimeType int + DeliveryType int + Goods string + GuaranteeValueAmount float64 + Weight int + Length int + Width int + Height int + OrderSendTime string + PackageNum int + ReceiveAddress string + ReceiveName string + ReceivePhone string + Remark string + SenderAddress string + SenderName string + SenderPhone string + ThirdPlatform int + Type int + ReceiveAddressId int + SenderAddressId int + ChannelType int + Images string + ChannelFee float64 + Bulk int + ServiceCharge float64 + GuarantFee float64 + OriginalFee float64 + Increment float64 +} + +// func (c *QBiDaExpressController) CreateWayOrder() { +// c.callCreateWayOrder(func(params *tExpressCreateWayOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callCreateWayOrder(handler func(params *tExpressCreateWayOrderParams) (interface{}, string, error)) { + var err error + params := &tExpressCreateWayOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.PromiseTimeType, err = c.GetInt("promiseTimeType", 0); err != nil { + errParams = append(errParams, "promiseTimeType") + } + if params.DeliveryType, err = c.GetInt("deliveryType", 0); err != nil { + errParams = append(errParams, "deliveryType") + } + params.Goods = utils.TrimBlankChar(c.GetString("goods")) + if params.GuaranteeValueAmount, err = c.GetFloat("guaranteeValueAmount", 0); err != nil { + errParams = append(errParams, "guaranteeValueAmount") + } + if params.Weight, err = c.GetInt("weight", 0); err != nil { + errParams = append(errParams, "weight") + } + if params.Length, err = c.GetInt("length", 0); err != nil { + errParams = append(errParams, "length") + } + if params.Width, err = c.GetInt("width", 0); err != nil { + errParams = append(errParams, "width") + } + if params.Height, err = c.GetInt("height", 0); err != nil { + errParams = append(errParams, "height") + } + params.OrderSendTime = utils.TrimBlankChar(c.GetString("orderSendTime")) + if params.PackageNum, err = c.GetInt("packageNum", 0); err != nil { + errParams = append(errParams, "packageNum") + } + params.ReceiveAddress = utils.TrimBlankChar(c.GetString("receiveAddress")) + params.ReceiveName = utils.TrimBlankChar(c.GetString("receiveName")) + params.ReceivePhone = utils.TrimBlankChar(c.GetString("receivePhone")) + params.Remark = utils.TrimBlankChar(c.GetString("remark")) + params.SenderAddress = utils.TrimBlankChar(c.GetString("senderAddress")) + params.SenderName = utils.TrimBlankChar(c.GetString("senderName")) + params.SenderPhone = utils.TrimBlankChar(c.GetString("senderPhone")) + if params.ThirdPlatform, err = c.GetInt("thirdPlatform", 0); err != nil { + errParams = append(errParams, "thirdPlatform") + } + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + if params.ReceiveAddressId, err = c.GetInt("receiveAddressId", 0); err != nil { + errParams = append(errParams, "receiveAddressId") + } + if params.SenderAddressId, err = c.GetInt("senderAddressId", 0); err != nil { + errParams = append(errParams, "senderAddressId") + } + if params.ChannelType, err = c.GetInt("channelType", 0); err != nil { + errParams = append(errParams, "channelType") + } + params.Images = utils.TrimBlankChar(c.GetString("images")) + if params.ChannelFee, err = c.GetFloat("channelFee", 0); err != nil { + errParams = append(errParams, "channelFee") + } + if params.Bulk, err = c.GetInt("bulk", 0); err != nil { + errParams = append(errParams, "bulk") + } + if params.ServiceCharge, err = c.GetFloat("serviceCharge", 0); err != nil { + errParams = append(errParams, "serviceCharge") + } + if params.GuarantFee, err = c.GetFloat("guarantFee", 0); err != nil { + errParams = append(errParams, "guarantFee") + } + if params.OriginalFee, err = c.GetFloat("originalFee", 0); err != nil { + errParams = append(errParams, "originalFee") + } + if params.Increment, err = c.GetFloat("increment", 0); err != nil { + errParams = append(errParams, "increment") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("promiseTimeType")) != "" { + params.MapData["promiseTimeType"] = params.PromiseTimeType + } + if utils.TrimBlankChar(c.GetString("deliveryType")) != "" { + params.MapData["deliveryType"] = params.DeliveryType + } + if c.GetString("goods") == "" { + errParams = append(errParams, "goods") + } + params.MapData["goods"] = params.Goods + if utils.TrimBlankChar(c.GetString("guaranteeValueAmount")) != "" { + params.MapData["guaranteeValueAmount"] = params.GuaranteeValueAmount + } + if c.GetString("weight") == "" { + errParams = append(errParams, "weight") + } + params.MapData["weight"] = params.Weight + if utils.TrimBlankChar(c.GetString("length")) != "" { + params.MapData["length"] = params.Length + } + if utils.TrimBlankChar(c.GetString("width")) != "" { + params.MapData["width"] = params.Width + } + if utils.TrimBlankChar(c.GetString("height")) != "" { + params.MapData["height"] = params.Height + } + if utils.TrimBlankChar(c.GetString("orderSendTime")) != "" { + params.MapData["orderSendTime"] = params.OrderSendTime + } + if c.GetString("packageNum") == "" { + errParams = append(errParams, "packageNum") + } + params.MapData["packageNum"] = params.PackageNum + if c.GetString("receiveAddress") == "" { + errParams = append(errParams, "receiveAddress") + } + params.MapData["receiveAddress"] = params.ReceiveAddress + if c.GetString("receiveName") == "" { + errParams = append(errParams, "receiveName") + } + params.MapData["receiveName"] = params.ReceiveName + if c.GetString("receivePhone") == "" { + errParams = append(errParams, "receivePhone") + } + params.MapData["receivePhone"] = params.ReceivePhone + if utils.TrimBlankChar(c.GetString("remark")) != "" { + params.MapData["remark"] = params.Remark + } + if c.GetString("senderAddress") == "" { + errParams = append(errParams, "senderAddress") + } + params.MapData["senderAddress"] = params.SenderAddress + if c.GetString("senderName") == "" { + errParams = append(errParams, "senderName") + } + params.MapData["senderName"] = params.SenderName + if c.GetString("senderPhone") == "" { + errParams = append(errParams, "senderPhone") + } + params.MapData["senderPhone"] = params.SenderPhone + if utils.TrimBlankChar(c.GetString("thirdPlatform")) != "" { + params.MapData["thirdPlatform"] = params.ThirdPlatform + } + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if c.GetString("receiveAddressId") == "" { + errParams = append(errParams, "receiveAddressId") + } + params.MapData["receiveAddressId"] = params.ReceiveAddressId + if c.GetString("senderAddressId") == "" { + errParams = append(errParams, "senderAddressId") + } + params.MapData["senderAddressId"] = params.SenderAddressId + if c.GetString("channelType") == "" { + errParams = append(errParams, "channelType") + } + params.MapData["channelType"] = params.ChannelType + if utils.TrimBlankChar(c.GetString("images")) != "" { + params.MapData["images"] = params.Images + } + if c.GetString("channelFee") == "" { + errParams = append(errParams, "channelFee") + } + params.MapData["channelFee"] = params.ChannelFee + if utils.TrimBlankChar(c.GetString("bulk")) != "" { + params.MapData["bulk"] = params.Bulk + } + if utils.TrimBlankChar(c.GetString("serviceCharge")) != "" { + params.MapData["serviceCharge"] = params.ServiceCharge + } + if utils.TrimBlankChar(c.GetString("guarantFee")) != "" { + params.MapData["guarantFee"] = params.GuarantFee + } + if utils.TrimBlankChar(c.GetString("originalFee")) != "" { + params.MapData["originalFee"] = params.OriginalFee + } + if utils.TrimBlankChar(c.GetString("increment")) != "" { + params.MapData["increment"] = params.Increment + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.CreateWayOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.CreateWayOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.CreateWayOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2GetTokenInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *Auth2Controller) GetTokenInfo() { +// c.callGetTokenInfo(func(params *tAuth2GetTokenInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callGetTokenInfo(handler func(params *tAuth2GetTokenInfoParams) (interface{}, string, error)) { + var err error + params := &tAuth2GetTokenInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.GetTokenInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.GetTokenInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.GetTokenInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobSubmitJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *JobController) SubmitJob() { +// c.callSubmitJob(func(params *tJobSubmitJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callSubmitJob(handler func(params *tJobSubmitJobParams) (interface{}, string, error)) { + var err error + params := &tJobSubmitJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.SubmitJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.SubmitJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.SubmitJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventGetImMessageRecordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + FromTime string + ToTime string + Offset int + PageSize int +} + +// func (c *EventController) GetImMessageRecord() { +// c.callGetImMessageRecord(func(params *tEventGetImMessageRecordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callGetImMessageRecord(handler func(params *tEventGetImMessageRecordParams) (interface{}, string, error)) { + var err error + params := &tEventGetImMessageRecordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.GetImMessageRecord, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.GetImMessageRecord, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.GetImMessageRecord error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetMtMembersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *JobController) GetMtMembers() { +// c.callGetMtMembers(func(params *tJobGetMtMembersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetMtMembers(handler func(params *tJobGetMtMembersParams) (interface{}, string, error)) { + var err error + params := &tJobGetMtMembersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetMtMembers, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetMtMembers, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetMtMembers error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressGetOrderListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + ExpressType int + OrderNo string + OrderStatus int + PageNum int + PageSize int + StartTime string + EndTime string +} + +// func (c *QBiDaExpressController) GetOrderList() { +// c.callGetOrderList(func(params *tExpressGetOrderListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callGetOrderList(handler func(params *tExpressGetOrderListParams) (interface{}, string, error)) { + var err error + params := &tExpressGetOrderListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.ExpressType, err = c.GetInt("expressType", 0); err != nil { + errParams = append(errParams, "expressType") + } + params.OrderNo = utils.TrimBlankChar(c.GetString("orderNo")) + if params.OrderStatus, err = c.GetInt("orderStatus", 0); err != nil { + errParams = append(errParams, "orderStatus") + } + if params.PageNum, err = c.GetInt("pageNum", 0); err != nil { + errParams = append(errParams, "pageNum") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + params.StartTime = utils.TrimBlankChar(c.GetString("startTime")) + params.EndTime = utils.TrimBlankChar(c.GetString("endTime")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("expressType")) != "" { + params.MapData["expressType"] = params.ExpressType + } + if utils.TrimBlankChar(c.GetString("orderNo")) != "" { + params.MapData["orderNo"] = params.OrderNo + } + if utils.TrimBlankChar(c.GetString("orderStatus")) != "" { + params.MapData["orderStatus"] = params.OrderStatus + } + if c.GetString("pageNum") == "" { + errParams = append(errParams, "pageNum") + } + params.MapData["pageNum"] = params.PageNum + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if c.GetString("startTime") == "" { + errParams = append(errParams, "startTime") + } + params.MapData["startTime"] = params.StartTime + if c.GetString("endTime") == "" { + errParams = append(errParams, "endTime") + } + params.MapData["endTime"] = params.EndTime + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.GetOrderList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.GetOrderList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.GetOrderList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressTryAgainOrderByOldOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OldNo string +} + +// func (c *QBiDaExpressController) TryAgainOrderByOldOrder() { +// c.callTryAgainOrderByOldOrder(func(params *tExpressTryAgainOrderByOldOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callTryAgainOrderByOldOrder(handler func(params *tExpressTryAgainOrderByOldOrderParams) (interface{}, string, error)) { + var err error + params := &tExpressTryAgainOrderByOldOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OldNo = utils.TrimBlankChar(c.GetString("oldNo")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("oldNo") == "" { + errParams = append(errParams, "oldNo") + } + params.MapData["oldNo"] = params.OldNo + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.TryAgainOrderByOldOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.TryAgainOrderByOldOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.TryAgainOrderByOldOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2SendVerifyCodeParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + CaptchaID string + CaptchaValue string + AuthToken string + AuthID string +} + +// func (c *Auth2Controller) SendVerifyCode() { +// c.callSendVerifyCode(func(params *tAuth2SendVerifyCodeParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callSendVerifyCode(handler func(params *tAuth2SendVerifyCodeParams) (interface{}, string, error)) { + var err error + params := &tAuth2SendVerifyCodeParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.CaptchaID = utils.TrimBlankChar(c.GetString("captchaID")) + params.CaptchaValue = utils.TrimBlankChar(c.GetString("captchaValue")) + params.AuthToken = utils.TrimBlankChar(c.GetString("authToken")) + params.AuthID = utils.TrimBlankChar(c.GetString("authID")) + if utils.TrimBlankChar(c.GetString("captchaID")) != "" { + params.MapData["captchaID"] = params.CaptchaID + } + if utils.TrimBlankChar(c.GetString("captchaValue")) != "" { + params.MapData["captchaValue"] = params.CaptchaValue + } + if utils.TrimBlankChar(c.GetString("authToken")) != "" { + params.MapData["authToken"] = params.AuthToken + } + if c.GetString("authID") == "" { + errParams = append(errParams, "authID") + } + params.MapData["authID"] = params.AuthID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.SendVerifyCode, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.SendVerifyCode, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.SendVerifyCode error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2LoadMyCartParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + StoreIDs string +} + +// func (c *User2Controller) LoadMyCart() { +// c.callLoadMyCart(func(params *tUser2LoadMyCartParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callLoadMyCart(handler func(params *tUser2LoadMyCartParams) (interface{}, string, error)) { + var err error + params := &tUser2LoadMyCartParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.StoreIDs = utils.TrimBlankChar(c.GetString("storeIDs")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("storeIDs") == "" { + errParams = append(errParams, "storeIDs") + } + params.MapData["storeIDs"] = params.StoreIDs + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.LoadMyCart, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.LoadMyCart, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.LoadMyCart error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobPublishJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *JobController) PublishJob() { +// c.callPublishJob(func(params *tJobPublishJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callPublishJob(handler func(params *tJobPublishJobParams) (interface{}, string, error)) { + var err error + params := &tJobPublishJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.PublishJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.PublishJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.PublishJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventUpdateUserMessageGroupReadParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *EventController) UpdateUserMessageGroupRead() { +// c.callUpdateUserMessageGroupRead(func(params *tEventUpdateUserMessageGroupReadParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callUpdateUserMessageGroupRead(handler func(params *tEventUpdateUserMessageGroupReadParams) (interface{}, string, error)) { + var err error + params := &tEventUpdateUserMessageGroupReadParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.UpdateUserMessageGroupRead, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.UpdateUserMessageGroupRead, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.UpdateUserMessageGroupRead error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsNewConfigParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type string + Key string + Value string +} + +// func (c *CmsController) NewConfig() { +// c.callNewConfig(func(params *tCmsNewConfigParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callNewConfig(handler func(params *tCmsNewConfigParams) (interface{}, string, error)) { + var err error + params := &tCmsNewConfigParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Type = utils.TrimBlankChar(c.GetString("type")) + params.Key = utils.TrimBlankChar(c.GetString("key")) + params.Value = utils.TrimBlankChar(c.GetString("value")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if c.GetString("key") == "" { + errParams = append(errParams, "key") + } + params.MapData["key"] = params.Key + if c.GetString("value") == "" { + errParams = append(errParams, "value") + } + params.MapData["value"] = params.Value + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.NewConfig, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.NewConfig, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.NewConfig error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionShareUnionLinkParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobID int + ShareType int + ResourceType int + LinkType int + GoodsID string +} + +// func (c *UnionController) ShareUnionLink() { +// c.callShareUnionLink(func(params *tUnionShareUnionLinkParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callShareUnionLink(handler func(params *tUnionShareUnionLinkParams) (interface{}, string, error)) { + var err error + params := &tUnionShareUnionLinkParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobID, err = c.GetInt("jobID", 0); err != nil { + errParams = append(errParams, "jobID") + } + if params.ShareType, err = c.GetInt("shareType", 0); err != nil { + errParams = append(errParams, "shareType") + } + if params.ResourceType, err = c.GetInt("resourceType", 0); err != nil { + errParams = append(errParams, "resourceType") + } + if params.LinkType, err = c.GetInt("linkType", 0); err != nil { + errParams = append(errParams, "linkType") + } + params.GoodsID = utils.TrimBlankChar(c.GetString("goodsID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobID") == "" { + errParams = append(errParams, "jobID") + } + params.MapData["jobID"] = params.JobID + if c.GetString("shareType") == "" { + errParams = append(errParams, "shareType") + } + params.MapData["shareType"] = params.ShareType + if utils.TrimBlankChar(c.GetString("resourceType")) != "" { + params.MapData["resourceType"] = params.ResourceType + } + if c.GetString("linkType") == "" { + errParams = append(errParams, "linkType") + } + params.MapData["linkType"] = params.LinkType + if utils.TrimBlankChar(c.GetString("goodsID")) != "" { + params.MapData["goodsID"] = params.GoodsID + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.ShareUnionLink, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.ShareUnionLink, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.ShareUnionLink error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetSelfInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *User2Controller) GetSelfInfo() { +// c.callGetSelfInfo(func(params *tUser2GetSelfInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetSelfInfo(handler func(params *tUser2GetSelfInfoParams) (interface{}, string, error)) { + var err error + params := &tUser2GetSelfInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetSelfInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetSelfInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetSelfInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2RegisterUserParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string + MobileVerifyCode string + AuthToken string +} + +// func (c *User2Controller) RegisterUser() { +// c.callRegisterUser(func(params *tUser2RegisterUserParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callRegisterUser(handler func(params *tUser2RegisterUserParams) (interface{}, string, error)) { + var err error + params := &tUser2RegisterUserParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + params.MobileVerifyCode = utils.TrimBlankChar(c.GetString("mobileVerifyCode")) + params.AuthToken = utils.TrimBlankChar(c.GetString("authToken")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if utils.TrimBlankChar(c.GetString("mobileVerifyCode")) != "" { + params.MapData["mobileVerifyCode"] = params.MobileVerifyCode + } + if utils.TrimBlankChar(c.GetString("authToken")) != "" { + params.MapData["authToken"] = params.AuthToken + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.RegisterUser, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.RegisterUser, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.RegisterUser error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobRefreshJobStatusParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *JobController) RefreshJobStatus() { +// c.callRefreshJobStatus(func(params *tJobRefreshJobStatusParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callRefreshJobStatus(handler func(params *tJobRefreshJobStatusParams) (interface{}, string, error)) { + var err error + params := &tJobRefreshJobStatusParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.RefreshJobStatus, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.RefreshJobStatus, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.RefreshJobStatus error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobCancelPublishJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobID int +} + +// func (c *JobController) CancelPublishJob() { +// c.callCancelPublishJob(func(params *tJobCancelPublishJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callCancelPublishJob(handler func(params *tJobCancelPublishJobParams) (interface{}, string, error)) { + var err error + params := &tJobCancelPublishJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobID, err = c.GetInt("jobID", 0); err != nil { + errParams = append(errParams, "jobID") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobID") == "" { + errParams = append(errParams, "jobID") + } + params.MapData["jobID"] = params.JobID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.CancelPublishJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.CancelPublishJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.CancelPublishJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2CreateCaptchaParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Width int + Height int + CaptchaLen int +} + +// func (c *Auth2Controller) CreateCaptcha() { +// c.callCreateCaptcha(func(params *tAuth2CreateCaptchaParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callCreateCaptcha(handler func(params *tAuth2CreateCaptchaParams) (interface{}, string, error)) { + var err error + params := &tAuth2CreateCaptchaParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + if params.Width, err = c.GetInt("width", 0); err != nil { + errParams = append(errParams, "width") + } + if params.Height, err = c.GetInt("height", 0); err != nil { + errParams = append(errParams, "height") + } + if params.CaptchaLen, err = c.GetInt("captchaLen", 0); err != nil { + errParams = append(errParams, "captchaLen") + } + if c.GetString("width") == "" { + errParams = append(errParams, "width") + } + params.MapData["width"] = params.Width + if c.GetString("height") == "" { + errParams = append(errParams, "height") + } + params.MapData["height"] = params.Height + if utils.TrimBlankChar(c.GetString("captchaLen")) != "" { + params.MapData["captchaLen"] = params.CaptchaLen + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.CreateCaptcha, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.CreateCaptcha, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.CreateCaptcha error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2ChangePasswordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OldPwd string + NewPwd string +} + +// func (c *Auth2Controller) ChangePassword() { +// c.callChangePassword(func(params *tAuth2ChangePasswordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callChangePassword(handler func(params *tAuth2ChangePasswordParams) (interface{}, string, error)) { + var err error + params := &tAuth2ChangePasswordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OldPwd = utils.TrimBlankChar(c.GetString("oldPwd")) + params.NewPwd = utils.TrimBlankChar(c.GetString("newPwd")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("oldPwd")) != "" { + params.MapData["oldPwd"] = params.OldPwd + } + if c.GetString("newPwd") == "" { + errParams = append(errParams, "newPwd") + } + params.MapData["newPwd"] = params.NewPwd + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.ChangePassword, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.ChangePassword, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.ChangePassword error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2LoginParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + AuthType string + AuthSecret string + AuthID string + AuthIDType string +} + +// func (c *Auth2Controller) Login() { +// c.callLogin(func(params *tAuth2LoginParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callLogin(handler func(params *tAuth2LoginParams) (interface{}, string, error)) { + var err error + params := &tAuth2LoginParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.AuthType = utils.TrimBlankChar(c.GetString("authType")) + params.AuthSecret = utils.TrimBlankChar(c.GetString("authSecret")) + params.AuthID = utils.TrimBlankChar(c.GetString("authID")) + params.AuthIDType = utils.TrimBlankChar(c.GetString("authIDType")) + if c.GetString("authType") == "" { + errParams = append(errParams, "authType") + } + params.MapData["authType"] = params.AuthType + if c.GetString("authSecret") == "" { + errParams = append(errParams, "authSecret") + } + params.MapData["authSecret"] = params.AuthSecret + if utils.TrimBlankChar(c.GetString("authID")) != "" { + params.MapData["authID"] = params.AuthID + } + if utils.TrimBlankChar(c.GetString("authIDType")) != "" { + params.MapData["authIDType"] = params.AuthIDType + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.Login, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.Login, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.Login error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetUserSerachKeywordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *User2Controller) GetUserSerachKeyword() { +// c.callGetUserSerachKeyword(func(params *tUser2GetUserSerachKeywordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetUserSerachKeyword(handler func(params *tUser2GetUserSerachKeywordParams) (interface{}, string, error)) { + var err error + params := &tUser2GetUserSerachKeywordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetUserSerachKeyword, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetUserSerachKeyword, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetUserSerachKeyword error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetVendorMattersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorID int + VendorCatID string + Keyword string + Offset int + PageSize int + ListID string + SortType int +} + +// func (c *UnionController) GetVendorMatters() { +// c.callGetVendorMatters(func(params *tUnionGetVendorMattersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetVendorMatters(handler func(params *tUnionGetVendorMattersParams) (interface{}, string, error)) { + var err error + params := &tUnionGetVendorMattersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + params.VendorCatID = utils.TrimBlankChar(c.GetString("vendorCatID")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + params.ListID = utils.TrimBlankChar(c.GetString("listID")) + if params.SortType, err = c.GetInt("sortType", 0); err != nil { + errParams = append(errParams, "sortType") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("vendorID") == "" { + errParams = append(errParams, "vendorID") + } + params.MapData["vendorID"] = params.VendorID + if utils.TrimBlankChar(c.GetString("vendorCatID")) != "" { + params.MapData["vendorCatID"] = params.VendorCatID + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if utils.TrimBlankChar(c.GetString("listID")) != "" { + params.MapData["listID"] = params.ListID + } + if utils.TrimBlankChar(c.GetString("sortType")) != "" { + params.MapData["sortType"] = params.SortType + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetVendorMatters, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetVendorMatters, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetVendorMatters error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetPddBindInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *UnionController) GetPddBindInfo() { +// c.callGetPddBindInfo(func(params *tUnionGetPddBindInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetPddBindInfo(handler func(params *tUnionGetPddBindInfoParams) (interface{}, string, error)) { + var err error + params := &tUnionGetPddBindInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetPddBindInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetPddBindInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetPddBindInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsGetQiniuUploadTokenParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Suffix string + HashCode string +} + +// func (c *CmsController) GetQiniuUploadToken() { +// c.callGetQiniuUploadToken(func(params *tCmsGetQiniuUploadTokenParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callGetQiniuUploadToken(handler func(params *tCmsGetQiniuUploadTokenParams) (interface{}, string, error)) { + var err error + params := &tCmsGetQiniuUploadTokenParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Suffix = utils.TrimBlankChar(c.GetString("suffix")) + params.HashCode = utils.TrimBlankChar(c.GetString("hashCode")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("suffix") == "" { + errParams = append(errParams, "suffix") + } + params.MapData["suffix"] = params.Suffix + if utils.TrimBlankChar(c.GetString("hashCode")) != "" { + params.MapData["hashCode"] = params.HashCode + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.GetQiniuUploadToken, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.GetQiniuUploadToken, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.GetQiniuUploadToken error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tWithdrawalGetWithdrawalListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + PageSize int + PageNum int + UserName string + UserId string + OrderId string + StartTime string + EndTime string + Phone string + OrderStatus int +} + +// func (c *WithdrawalRecordController) GetWithdrawalList() { +// c.callGetWithdrawalList(func(params *tWithdrawalGetWithdrawalListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *WithdrawalRecordController) callGetWithdrawalList(handler func(params *tWithdrawalGetWithdrawalListParams) (interface{}, string, error)) { + var err error + params := &tWithdrawalGetWithdrawalListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.PageNum, err = c.GetInt("pageNum", 0); err != nil { + errParams = append(errParams, "pageNum") + } + params.UserName = utils.TrimBlankChar(c.GetString("userName")) + params.UserId = utils.TrimBlankChar(c.GetString("userId")) + params.OrderId = utils.TrimBlankChar(c.GetString("orderId")) + params.StartTime = utils.TrimBlankChar(c.GetString("startTime")) + params.EndTime = utils.TrimBlankChar(c.GetString("endTime")) + params.Phone = utils.TrimBlankChar(c.GetString("phone")) + if params.OrderStatus, err = c.GetInt("orderStatus", 0); err != nil { + errParams = append(errParams, "orderStatus") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if c.GetString("pageNum") == "" { + errParams = append(errParams, "pageNum") + } + params.MapData["pageNum"] = params.PageNum + if utils.TrimBlankChar(c.GetString("userName")) != "" { + params.MapData["userName"] = params.UserName + } + if utils.TrimBlankChar(c.GetString("userId")) != "" { + params.MapData["userId"] = params.UserId + } + if utils.TrimBlankChar(c.GetString("orderId")) != "" { + params.MapData["orderId"] = params.OrderId + } + if utils.TrimBlankChar(c.GetString("startTime")) != "" { + params.MapData["startTime"] = params.StartTime + } + if utils.TrimBlankChar(c.GetString("endTime")) != "" { + params.MapData["endTime"] = params.EndTime + } + if utils.TrimBlankChar(c.GetString("phone")) != "" { + params.MapData["phone"] = params.Phone + } + if utils.TrimBlankChar(c.GetString("orderStatus")) != "" { + params.MapData["orderStatus"] = params.OrderStatus + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API WithdrawalRecordController.GetWithdrawalList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API WithdrawalRecordController.GetWithdrawalList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API WithdrawalRecordController.GetWithdrawalList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2LogoutParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *Auth2Controller) Logout() { +// c.callLogout(func(params *tAuth2LogoutParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callLogout(handler func(params *tAuth2LogoutParams) (interface{}, string, error)) { + var err error + params := &tAuth2LogoutParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.Logout, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.Logout, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.Logout error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2QueryMyDeliveryAddressParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type int +} + +// func (c *User2Controller) QueryMyDeliveryAddress() { +// c.callQueryMyDeliveryAddress(func(params *tUser2QueryMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callQueryMyDeliveryAddress(handler func(params *tUser2QueryMyDeliveryAddressParams) (interface{}, string, error)) { + var err error + params := &tUser2QueryMyDeliveryAddressParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("type")) != "" { + params.MapData["type"] = params.Type + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.QueryMyDeliveryAddress, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.QueryMyDeliveryAddress, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.QueryMyDeliveryAddress error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobCreateJobSpanParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobIDs string + EndAt string + Span int +} + +// func (c *JobController) CreateJobSpan() { +// c.callCreateJobSpan(func(params *tJobCreateJobSpanParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callCreateJobSpan(handler func(params *tJobCreateJobSpanParams) (interface{}, string, error)) { + var err error + params := &tJobCreateJobSpanParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.JobIDs = utils.TrimBlankChar(c.GetString("jobIDs")) + params.EndAt = utils.TrimBlankChar(c.GetString("endAt")) + if params.Span, err = c.GetInt("span", 0); err != nil { + errParams = append(errParams, "span") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobIDs") == "" { + errParams = append(errParams, "jobIDs") + } + params.MapData["jobIDs"] = params.JobIDs + if c.GetString("endAt") == "" { + errParams = append(errParams, "endAt") + } + params.MapData["endAt"] = params.EndAt + if c.GetString("span") == "" { + errParams = append(errParams, "span") + } + params.MapData["span"] = params.Span + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.CreateJobSpan, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.CreateJobSpan, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.CreateJobSpan error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderGetManageStatisticsImgParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + CityCodes string + FromTime string + ToTime string + JobIDs string +} + +// func (c *OrderController) GetManageStatisticsImg() { +// c.callGetManageStatisticsImg(func(params *tOrderGetManageStatisticsImgParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetManageStatisticsImg(handler func(params *tOrderGetManageStatisticsImgParams) (interface{}, string, error)) { + var err error + params := &tOrderGetManageStatisticsImgParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + params.JobIDs = utils.TrimBlankChar(c.GetString("jobIDs")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if c.GetString("fromTime") == "" { + errParams = append(errParams, "fromTime") + } + params.MapData["fromTime"] = params.FromTime + if c.GetString("toTime") == "" { + errParams = append(errParams, "toTime") + } + params.MapData["toTime"] = params.ToTime + if utils.TrimBlankChar(c.GetString("jobIDs")) != "" { + params.MapData["jobIDs"] = params.JobIDs + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.GetManageStatisticsImg, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.GetManageStatisticsImg, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.GetManageStatisticsImg error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventUpdateMessageGroupParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + Payload string +} + +// func (c *EventController) UpdateMessageGroup() { +// c.callUpdateMessageGroup(func(params *tEventUpdateMessageGroupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callUpdateMessageGroup(handler func(params *tEventUpdateMessageGroupParams) (interface{}, string, error)) { + var err error + params := &tEventUpdateMessageGroupParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.UpdateMessageGroup, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.UpdateMessageGroup, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.UpdateMessageGroup error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventDeleteMessageGroupParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + UserID string + Flag bool +} + +// func (c *EventController) DeleteMessageGroup() { +// c.callDeleteMessageGroup(func(params *tEventDeleteMessageGroupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callDeleteMessageGroup(handler func(params *tEventDeleteMessageGroupParams) (interface{}, string, error)) { + var err error + params := &tEventDeleteMessageGroupParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Flag, err = c.GetBool("flag", false); err != nil { + errParams = append(errParams, "flag") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if utils.TrimBlankChar(c.GetString("flag")) != "" { + params.MapData["flag"] = params.Flag + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.DeleteMessageGroup, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.DeleteMessageGroup, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.DeleteMessageGroup error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetUsersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Keyword string + UserID string + Pop int + CityCodes string + Mobile string + FromTime string + ToTime string + TimeType int + ConsumeTypes string + Offset int + PageSize int +} + +// func (c *User2Controller) GetUsers() { +// c.callGetUsers(func(params *tUser2GetUsersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetUsers(handler func(params *tUser2GetUsersParams) (interface{}, string, error)) { + var err error + params := &tUser2GetUsersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Pop, err = c.GetInt("pop", 0); err != nil { + errParams = append(errParams, "pop") + } + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.TimeType, err = c.GetInt("timeType", 0); err != nil { + errParams = append(errParams, "timeType") + } + params.ConsumeTypes = utils.TrimBlankChar(c.GetString("consumeTypes")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("userID")) != "" { + params.MapData["userID"] = params.UserID + } + if utils.TrimBlankChar(c.GetString("pop")) != "" { + params.MapData["pop"] = params.Pop + } + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if utils.TrimBlankChar(c.GetString("mobile")) != "" { + params.MapData["mobile"] = params.Mobile + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("timeType")) != "" { + params.MapData["timeType"] = params.TimeType + } + if utils.TrimBlankChar(c.GetString("consumeTypes")) != "" { + params.MapData["consumeTypes"] = params.ConsumeTypes + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetUsers, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetUsers, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetUsers error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventGetMessageGroupByUserParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string +} + +// func (c *EventController) GetMessageGroupByUser() { +// c.callGetMessageGroupByUser(func(params *tEventGetMessageGroupByUserParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callGetMessageGroupByUser(handler func(params *tEventGetMessageGroupByUserParams) (interface{}, string, error)) { + var err error + params := &tEventGetMessageGroupByUserParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.GetMessageGroupByUser, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.GetMessageGroupByUser, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.GetMessageGroupByUser error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tWithdrawalGetWithdrawalRecordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Status int + PageSize int + PageNum int +} + +// func (c *WithdrawalRecordController) GetWithdrawalRecord() { +// c.callGetWithdrawalRecord(func(params *tWithdrawalGetWithdrawalRecordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *WithdrawalRecordController) callGetWithdrawalRecord(handler func(params *tWithdrawalGetWithdrawalRecordParams) (interface{}, string, error)) { + var err error + params := &tWithdrawalGetWithdrawalRecordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Status, err = c.GetInt("status", 0); err != nil { + errParams = append(errParams, "status") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.PageNum, err = c.GetInt("pageNum", 0); err != nil { + errParams = append(errParams, "pageNum") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("status") == "" { + errParams = append(errParams, "status") + } + params.MapData["status"] = params.Status + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if c.GetString("pageNum") == "" { + errParams = append(errParams, "pageNum") + } + params.MapData["pageNum"] = params.PageNum + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API WithdrawalRecordController.GetWithdrawalRecord, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API WithdrawalRecordController.GetWithdrawalRecord, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API WithdrawalRecordController.GetWithdrawalRecord error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2UpdateUserParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *User2Controller) UpdateUser() { +// c.callUpdateUser(func(params *tUser2UpdateUserParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callUpdateUser(handler func(params *tUser2UpdateUserParams) (interface{}, string, error)) { + var err error + params := &tUser2UpdateUserParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.UpdateUser, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.UpdateUser, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.UpdateUser error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2DeleteUserCityManagerParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + CityCode int +} + +// func (c *User2Controller) DeleteUserCityManager() { +// c.callDeleteUserCityManager(func(params *tUser2DeleteUserCityManagerParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callDeleteUserCityManager(handler func(params *tUser2DeleteUserCityManagerParams) (interface{}, string, error)) { + var err error + params := &tUser2DeleteUserCityManagerParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if c.GetString("cityCode") == "" { + errParams = append(errParams, "cityCode") + } + params.MapData["cityCode"] = params.CityCode + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.DeleteUserCityManager, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.DeleteUserCityManager, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.DeleteUserCityManager error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2AddMyDeliveryAddressParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + ConsigneeName string + ConsigneeMobile string + Address string + DetailAddress string + Lng float64 + Lat float64 + Tag string + Remark string + IsDefault int + Type int + AutoAddress string +} + +// func (c *User2Controller) AddMyDeliveryAddress() { +// c.callAddMyDeliveryAddress(func(params *tUser2AddMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callAddMyDeliveryAddress(handler func(params *tUser2AddMyDeliveryAddressParams) (interface{}, string, error)) { + var err error + params := &tUser2AddMyDeliveryAddressParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.ConsigneeName = utils.TrimBlankChar(c.GetString("consigneeName")) + params.ConsigneeMobile = utils.TrimBlankChar(c.GetString("consigneeMobile")) + params.Address = utils.TrimBlankChar(c.GetString("address")) + params.DetailAddress = utils.TrimBlankChar(c.GetString("detailAddress")) + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + params.Tag = utils.TrimBlankChar(c.GetString("tag")) + params.Remark = utils.TrimBlankChar(c.GetString("remark")) + if params.IsDefault, err = c.GetInt("isDefault", 0); err != nil { + errParams = append(errParams, "isDefault") + } + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + params.AutoAddress = utils.TrimBlankChar(c.GetString("autoAddress")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("consigneeName") == "" { + errParams = append(errParams, "consigneeName") + } + params.MapData["consigneeName"] = params.ConsigneeName + if c.GetString("consigneeMobile") == "" { + errParams = append(errParams, "consigneeMobile") + } + params.MapData["consigneeMobile"] = params.ConsigneeMobile + if utils.TrimBlankChar(c.GetString("address")) != "" { + params.MapData["address"] = params.Address + } + if utils.TrimBlankChar(c.GetString("detailAddress")) != "" { + params.MapData["detailAddress"] = params.DetailAddress + } + if utils.TrimBlankChar(c.GetString("lng")) != "" { + params.MapData["lng"] = params.Lng + } + if utils.TrimBlankChar(c.GetString("lat")) != "" { + params.MapData["lat"] = params.Lat + } + if utils.TrimBlankChar(c.GetString("tag")) != "" { + params.MapData["tag"] = params.Tag + } + if utils.TrimBlankChar(c.GetString("remark")) != "" { + params.MapData["remark"] = params.Remark + } + if utils.TrimBlankChar(c.GetString("isDefault")) != "" { + params.MapData["isDefault"] = params.IsDefault + } + if utils.TrimBlankChar(c.GetString("type")) != "" { + params.MapData["type"] = params.Type + } + if utils.TrimBlankChar(c.GetString("autoAddress")) != "" { + params.MapData["autoAddress"] = params.AutoAddress + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.AddMyDeliveryAddress, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.AddMyDeliveryAddress, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.AddMyDeliveryAddress error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressQueryUserOrderListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + ExpressType int + OrderStatus int + OrderNo string + PageNum int + PageSize int +} + +// func (c *QBiDaExpressController) QueryUserOrderList() { +// c.callQueryUserOrderList(func(params *tExpressQueryUserOrderListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callQueryUserOrderList(handler func(params *tExpressQueryUserOrderListParams) (interface{}, string, error)) { + var err error + params := &tExpressQueryUserOrderListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.ExpressType, err = c.GetInt("expressType", 0); err != nil { + errParams = append(errParams, "expressType") + } + if params.OrderStatus, err = c.GetInt("orderStatus", 0); err != nil { + errParams = append(errParams, "orderStatus") + } + params.OrderNo = utils.TrimBlankChar(c.GetString("orderNo")) + if params.PageNum, err = c.GetInt("pageNum", 0); err != nil { + errParams = append(errParams, "pageNum") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("expressType")) != "" { + params.MapData["expressType"] = params.ExpressType + } + if utils.TrimBlankChar(c.GetString("orderStatus")) != "" { + params.MapData["orderStatus"] = params.OrderStatus + } + if utils.TrimBlankChar(c.GetString("orderNo")) != "" { + params.MapData["orderNo"] = params.OrderNo + } + if c.GetString("pageNum") == "" { + errParams = append(errParams, "pageNum") + } + params.MapData["pageNum"] = params.PageNum + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.QueryUserOrderList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.QueryUserOrderList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.QueryUserOrderList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetUserCityManagerParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + CityCode int +} + +// func (c *User2Controller) GetUserCityManager() { +// c.callGetUserCityManager(func(params *tUser2GetUserCityManagerParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetUserCityManager(handler func(params *tUser2GetUserCityManagerParams) (interface{}, string, error)) { + var err error + params := &tUser2GetUserCityManagerParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("userID")) != "" { + params.MapData["userID"] = params.UserID + } + if utils.TrimBlankChar(c.GetString("cityCode")) != "" { + params.MapData["cityCode"] = params.CityCode + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetUserCityManager, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetUserCityManager, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetUserCityManager error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventAddMessageGroupParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + UserID string +} + +// func (c *EventController) AddMessageGroup() { +// c.callAddMessageGroup(func(params *tEventAddMessageGroupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callAddMessageGroup(handler func(params *tEventAddMessageGroupParams) (interface{}, string, error)) { + var err error + params := &tEventAddMessageGroupParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.AddMessageGroup, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.AddMessageGroup, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.AddMessageGroup error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetUnionJobOrderInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobOrderID int +} + +// func (c *UnionController) GetUnionJobOrderInfo() { +// c.callGetUnionJobOrderInfo(func(params *tUnionGetUnionJobOrderInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetUnionJobOrderInfo(handler func(params *tUnionGetUnionJobOrderInfoParams) (interface{}, string, error)) { + var err error + params := &tUnionGetUnionJobOrderInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobOrderID, err = c.GetInt("jobOrderID", 0); err != nil { + errParams = append(errParams, "jobOrderID") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobOrderID") == "" { + errParams = append(errParams, "jobOrderID") + } + params.MapData["jobOrderID"] = params.JobOrderID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetUnionJobOrderInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetUnionJobOrderInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetUnionJobOrderInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressDeleteOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + LocalOrderId string +} + +// func (c *QBiDaExpressController) DeleteOrder() { +// c.callDeleteOrder(func(params *tExpressDeleteOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callDeleteOrder(handler func(params *tExpressDeleteOrderParams) (interface{}, string, error)) { + var err error + params := &tExpressDeleteOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.LocalOrderId = utils.TrimBlankChar(c.GetString("localOrderId")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("localOrderId") == "" { + errParams = append(errParams, "localOrderId") + } + params.MapData["localOrderId"] = params.LocalOrderId + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.DeleteOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.DeleteOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.DeleteOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobReloadJobSpanParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobIDs string + Span int +} + +// func (c *JobController) ReloadJobSpan() { +// c.callReloadJobSpan(func(params *tJobReloadJobSpanParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callReloadJobSpan(handler func(params *tJobReloadJobSpanParams) (interface{}, string, error)) { + var err error + params := &tJobReloadJobSpanParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.JobIDs = utils.TrimBlankChar(c.GetString("jobIDs")) + if params.Span, err = c.GetInt("span", 0); err != nil { + errParams = append(errParams, "span") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobIDs") == "" { + errParams = append(errParams, "jobIDs") + } + params.MapData["jobIDs"] = params.JobIDs + if c.GetString("span") == "" { + errParams = append(errParams, "span") + } + params.MapData["span"] = params.Span + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.ReloadJobSpan, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.ReloadJobSpan, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.ReloadJobSpan error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetAllDeliveryDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorWaybillID string + ComType string +} + +// func (c *JobController) GetAllDeliveryDetail() { +// c.callGetAllDeliveryDetail(func(params *tJobGetAllDeliveryDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetAllDeliveryDetail(handler func(params *tJobGetAllDeliveryDetailParams) (interface{}, string, error)) { + var err error + params := &tJobGetAllDeliveryDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorWaybillID = utils.TrimBlankChar(c.GetString("vendorWaybillID")) + params.ComType = utils.TrimBlankChar(c.GetString("comType")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("vendorWaybillID")) != "" { + params.MapData["vendorWaybillID"] = params.VendorWaybillID + } + if utils.TrimBlankChar(c.GetString("comType")) != "" { + params.MapData["comType"] = params.ComType + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetAllDeliveryDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetAllDeliveryDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetAllDeliveryDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetVendorMatterCategoryParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorID int +} + +// func (c *UnionController) GetVendorMatterCategory() { +// c.callGetVendorMatterCategory(func(params *tUnionGetVendorMatterCategoryParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetVendorMatterCategory(handler func(params *tUnionGetVendorMatterCategoryParams) (interface{}, string, error)) { + var err error + params := &tUnionGetVendorMatterCategoryParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("vendorID") == "" { + errParams = append(errParams, "vendorID") + } + params.MapData["vendorID"] = params.VendorID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetVendorMatterCategory, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetVendorMatterCategory, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetVendorMatterCategory error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetUnionOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorIDs string + Statuss string + BeginTime string + EndTime string + Keyword string + Offset int + PageSize int +} + +// func (c *UnionController) GetUnionOrders() { +// c.callGetUnionOrders(func(params *tUnionGetUnionOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetUnionOrders(handler func(params *tUnionGetUnionOrdersParams) (interface{}, string, error)) { + var err error + params := &tUnionGetUnionOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorIDs = utils.TrimBlankChar(c.GetString("vendorIDs")) + params.Statuss = utils.TrimBlankChar(c.GetString("statuss")) + params.BeginTime = utils.TrimBlankChar(c.GetString("beginTime")) + params.EndTime = utils.TrimBlankChar(c.GetString("endTime")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("vendorIDs")) != "" { + params.MapData["vendorIDs"] = params.VendorIDs + } + if utils.TrimBlankChar(c.GetString("statuss")) != "" { + params.MapData["statuss"] = params.Statuss + } + if utils.TrimBlankChar(c.GetString("beginTime")) != "" { + params.MapData["beginTime"] = params.BeginTime + } + if utils.TrimBlankChar(c.GetString("endTime")) != "" { + params.MapData["endTime"] = params.EndTime + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetUnionOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetUnionOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetUnionOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2DeletedTokenInfoWithoutParamParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *Auth2Controller) DeletedTokenInfoWithoutParam() { +// c.callDeletedTokenInfoWithoutParam(func(params *tAuth2DeletedTokenInfoWithoutParamParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callDeletedTokenInfoWithoutParam(handler func(params *tAuth2DeletedTokenInfoWithoutParamParams) (interface{}, string, error)) { + var err error + params := &tAuth2DeletedTokenInfoWithoutParamParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.DeletedTokenInfoWithoutParam, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.DeletedTokenInfoWithoutParam, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.DeletedTokenInfoWithoutParam error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobConfirmDropShippingJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + JobOrderID int +} + +// func (c *JobController) ConfirmDropShippingJob() { +// c.callConfirmDropShippingJob(func(params *tJobConfirmDropShippingJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callConfirmDropShippingJob(handler func(params *tJobConfirmDropShippingJobParams) (interface{}, string, error)) { + var err error + params := &tJobConfirmDropShippingJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.JobOrderID, err = c.GetInt("jobOrderID", 0); err != nil { + errParams = append(errParams, "jobOrderID") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("jobOrderID") == "" { + errParams = append(errParams, "jobOrderID") + } + params.MapData["jobOrderID"] = params.JobOrderID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.ConfirmDropShippingJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.ConfirmDropShippingJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.ConfirmDropShippingJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventSendSysMessageParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *EventController) SendSysMessage() { +// c.callSendSysMessage(func(params *tEventSendSysMessageParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callSendSysMessage(handler func(params *tEventSendSysMessageParams) (interface{}, string, error)) { + var err error + params := &tEventSendSysMessageParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.SendSysMessage, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.SendSysMessage, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.SendSysMessage error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tTaskGetTasksParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + TaskID string + FromStatus int + ToStatus int + LastHours int + CreatedBy string +} + +// func (c *TaskController) GetTasks() { +// c.callGetTasks(func(params *tTaskGetTasksParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *TaskController) callGetTasks(handler func(params *tTaskGetTasksParams) (interface{}, string, error)) { + var err error + params := &tTaskGetTasksParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.TaskID = utils.TrimBlankChar(c.GetString("taskID")) + if params.FromStatus, err = c.GetInt("fromStatus", 0); err != nil { + errParams = append(errParams, "fromStatus") + } + if params.ToStatus, err = c.GetInt("toStatus", 0); err != nil { + errParams = append(errParams, "toStatus") + } + if params.LastHours, err = c.GetInt("lastHours", 0); err != nil { + errParams = append(errParams, "lastHours") + } + params.CreatedBy = utils.TrimBlankChar(c.GetString("createdBy")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("taskID")) != "" { + params.MapData["taskID"] = params.TaskID + } + if utils.TrimBlankChar(c.GetString("fromStatus")) != "" { + params.MapData["fromStatus"] = params.FromStatus + } + if utils.TrimBlankChar(c.GetString("toStatus")) != "" { + params.MapData["toStatus"] = params.ToStatus + } + if utils.TrimBlankChar(c.GetString("lastHours")) != "" { + params.MapData["lastHours"] = params.LastHours + } + if utils.TrimBlankChar(c.GetString("createdBy")) != "" { + params.MapData["createdBy"] = params.CreatedBy + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API TaskController.GetTasks, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API TaskController.GetTasks, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API TaskController.GetTasks error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobSendJdDeliveryParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string + PickUpStartTime string + PickUpEndTime string +} + +// func (c *JobController) SendJdDelivery() { +// c.callSendJdDelivery(func(params *tJobSendJdDeliveryParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callSendJdDelivery(handler func(params *tJobSendJdDeliveryParams) (interface{}, string, error)) { + var err error + params := &tJobSendJdDeliveryParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + params.PickUpStartTime = utils.TrimBlankChar(c.GetString("pickUpStartTime")) + params.PickUpEndTime = utils.TrimBlankChar(c.GetString("pickUpEndTime")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if utils.TrimBlankChar(c.GetString("pickUpStartTime")) != "" { + params.MapData["pickUpStartTime"] = params.PickUpStartTime + } + if utils.TrimBlankChar(c.GetString("pickUpEndTime")) != "" { + params.MapData["pickUpEndTime"] = params.PickUpEndTime + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.SendJdDelivery, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.SendJdDelivery, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.SendJdDelivery error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetDeliveryDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorWaybillID string +} + +// func (c *JobController) GetDeliveryDetail() { +// c.callGetDeliveryDetail(func(params *tJobGetDeliveryDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetDeliveryDetail(handler func(params *tJobGetDeliveryDetailParams) (interface{}, string, error)) { + var err error + params := &tJobGetDeliveryDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorWaybillID = utils.TrimBlankChar(c.GetString("vendorWaybillID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("vendorWaybillID")) != "" { + params.MapData["vendorWaybillID"] = params.VendorWaybillID + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetDeliveryDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetDeliveryDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetDeliveryDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetEjyOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Offset int +} + +// func (c *JobController) GetEjyOrders() { +// c.callGetEjyOrders(func(params *tJobGetEjyOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetEjyOrders(handler func(params *tJobGetEjyOrdersParams) (interface{}, string, error)) { + var err error + params := &tJobGetEjyOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetEjyOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetEjyOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetEjyOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsQueryConfigsParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type string + Key string + Keyword string +} + +// func (c *CmsController) QueryConfigs() { +// c.callQueryConfigs(func(params *tCmsQueryConfigsParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callQueryConfigs(handler func(params *tCmsQueryConfigsParams) (interface{}, string, error)) { + var err error + params := &tCmsQueryConfigsParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Type = utils.TrimBlankChar(c.GetString("type")) + params.Key = utils.TrimBlankChar(c.GetString("key")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if utils.TrimBlankChar(c.GetString("type")) != "" { + params.MapData["type"] = params.Type + } + if utils.TrimBlankChar(c.GetString("key")) != "" { + params.MapData["key"] = params.Key + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.QueryConfigs, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.QueryConfigs, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.QueryConfigs error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2WeixinMPOAuth2Params struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Code string + Block string + State string +} + +// func (c *Auth2Controller) WeixinMPOAuth2() { +// c.callWeixinMPOAuth2(func(params *tAuth2WeixinMPOAuth2Params) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callWeixinMPOAuth2(handler func(params *tAuth2WeixinMPOAuth2Params) (interface{}, string, error)) { + var err error + params := &tAuth2WeixinMPOAuth2Params{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Code = utils.TrimBlankChar(c.GetString("code")) + params.Block = utils.TrimBlankChar(c.GetString("block")) + params.State = utils.TrimBlankChar(c.GetString("state")) + if c.GetString("code") == "" { + errParams = append(errParams, "code") + } + params.MapData["code"] = params.Code + if c.GetString("block") == "" { + errParams = append(errParams, "block") + } + params.MapData["block"] = params.Block + if utils.TrimBlankChar(c.GetString("state")) != "" { + params.MapData["state"] = params.State + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.WeixinMPOAuth2, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.WeixinMPOAuth2, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.WeixinMPOAuth2 error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobTempJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *JobController) TempJob() { +// c.callTempJob(func(params *tJobTempJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callTempJob(handler func(params *tJobTempJobParams) (interface{}, string, error)) { + var err error + params := &tJobTempJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.TempJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.TempJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.TempJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobRechargeMtMembersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Phone int +} + +// func (c *JobController) RechargeMtMembers() { +// c.callRechargeMtMembers(func(params *tJobRechargeMtMembersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callRechargeMtMembers(handler func(params *tJobRechargeMtMembersParams) (interface{}, string, error)) { + var err error + params := &tJobRechargeMtMembersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Phone, err = c.GetInt("phone", 0); err != nil { + errParams = append(errParams, "phone") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("phone") == "" { + errParams = append(errParams, "phone") + } + params.MapData["phone"] = params.Phone + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.RechargeMtMembers, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.RechargeMtMembers, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.RechargeMtMembers error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetCoordinateFromAddressParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Address string + CityCode int +} + +// func (c *JobController) GetCoordinateFromAddress() { +// c.callGetCoordinateFromAddress(func(params *tJobGetCoordinateFromAddressParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetCoordinateFromAddress(handler func(params *tJobGetCoordinateFromAddressParams) (interface{}, string, error)) { + var err error + params := &tJobGetCoordinateFromAddressParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Address = utils.TrimBlankChar(c.GetString("address")) + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("address") == "" { + errParams = append(errParams, "address") + } + params.MapData["address"] = params.Address + if c.GetString("cityCode") == "" { + errParams = append(errParams, "cityCode") + } + params.MapData["cityCode"] = params.CityCode + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetCoordinateFromAddress, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetCoordinateFromAddress, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetCoordinateFromAddress error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobUserRefundEjyParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorOrderID string + Reason string +} + +// func (c *JobController) UserRefundEjy() { +// c.callUserRefundEjy(func(params *tJobUserRefundEjyParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callUserRefundEjy(handler func(params *tJobUserRefundEjyParams) (interface{}, string, error)) { + var err error + params := &tJobUserRefundEjyParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorOrderID = utils.TrimBlankChar(c.GetString("vendorOrderID")) + params.Reason = utils.TrimBlankChar(c.GetString("reason")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("vendorOrderID") == "" { + errParams = append(errParams, "vendorOrderID") + } + params.MapData["vendorOrderID"] = params.VendorOrderID + if c.GetString("reason") == "" { + errParams = append(errParams, "reason") + } + params.MapData["reason"] = params.Reason + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.UserRefundEjy, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.UserRefundEjy, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.UserRefundEjy error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventUploadAudioParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *EventController) UploadAudio() { +// c.callUploadAudio(func(params *tEventUploadAudioParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callUploadAudio(handler func(params *tEventUploadAudioParams) (interface{}, string, error)) { + var err error + params := &tEventUploadAudioParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.UploadAudio, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.UploadAudio, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.UploadAudio error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventGetMessageGroupsParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + IsMember bool +} + +// func (c *EventController) GetMessageGroups() { +// c.callGetMessageGroups(func(params *tEventGetMessageGroupsParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callGetMessageGroups(handler func(params *tEventGetMessageGroupsParams) (interface{}, string, error)) { + var err error + params := &tEventGetMessageGroupsParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + if params.IsMember, err = c.GetBool("isMember", false); err != nil { + errParams = append(errParams, "isMember") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if c.GetString("isMember") == "" { + errParams = append(errParams, "isMember") + } + params.MapData["isMember"] = params.IsMember + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.GetMessageGroups, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.GetMessageGroups, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.GetMessageGroups error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tBillGetUserBillDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + FromTime string + ToTime string + Offset int + PageSize int +} + +// func (c *BillController) GetUserBillDetail() { +// c.callGetUserBillDetail(func(params *tBillGetUserBillDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *BillController) callGetUserBillDetail(handler func(params *tBillGetUserBillDetailParams) (interface{}, string, error)) { + var err error + params := &tBillGetUserBillDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API BillController.GetUserBillDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API BillController.GetUserBillDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API BillController.GetUserBillDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tTaskCancelTaskParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + TaskID string +} + +// func (c *TaskController) CancelTask() { +// c.callCancelTask(func(params *tTaskCancelTaskParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *TaskController) callCancelTask(handler func(params *tTaskCancelTaskParams) (interface{}, string, error)) { + var err error + params := &tTaskCancelTaskParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.TaskID = utils.TrimBlankChar(c.GetString("taskID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("taskID") == "" { + errParams = append(errParams, "taskID") + } + params.MapData["taskID"] = params.TaskID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API TaskController.CancelTask, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API TaskController.CancelTask, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API TaskController.CancelTask error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2UpdateMyDeliveryAddressParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Id int + ConsigneeName string + ConsigneeMobile string + Address string + DetailAddress string + Lng float64 + Lat float64 + Tag string + Remark string + IsDefault int +} + +// func (c *User2Controller) UpdateMyDeliveryAddress() { +// c.callUpdateMyDeliveryAddress(func(params *tUser2UpdateMyDeliveryAddressParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callUpdateMyDeliveryAddress(handler func(params *tUser2UpdateMyDeliveryAddressParams) (interface{}, string, error)) { + var err error + params := &tUser2UpdateMyDeliveryAddressParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Id, err = c.GetInt("id", 0); err != nil { + errParams = append(errParams, "id") + } + params.ConsigneeName = utils.TrimBlankChar(c.GetString("consigneeName")) + params.ConsigneeMobile = utils.TrimBlankChar(c.GetString("consigneeMobile")) + params.Address = utils.TrimBlankChar(c.GetString("address")) + params.DetailAddress = utils.TrimBlankChar(c.GetString("detailAddress")) + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + params.Tag = utils.TrimBlankChar(c.GetString("tag")) + params.Remark = utils.TrimBlankChar(c.GetString("remark")) + if params.IsDefault, err = c.GetInt("isDefault", 0); err != nil { + errParams = append(errParams, "isDefault") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("id") == "" { + errParams = append(errParams, "id") + } + params.MapData["id"] = params.Id + if utils.TrimBlankChar(c.GetString("consigneeName")) != "" { + params.MapData["consigneeName"] = params.ConsigneeName + } + if utils.TrimBlankChar(c.GetString("consigneeMobile")) != "" { + params.MapData["consigneeMobile"] = params.ConsigneeMobile + } + if utils.TrimBlankChar(c.GetString("address")) != "" { + params.MapData["address"] = params.Address + } + if utils.TrimBlankChar(c.GetString("detailAddress")) != "" { + params.MapData["detailAddress"] = params.DetailAddress + } + if utils.TrimBlankChar(c.GetString("lng")) != "" { + params.MapData["lng"] = params.Lng + } + if utils.TrimBlankChar(c.GetString("lat")) != "" { + params.MapData["lat"] = params.Lat + } + if utils.TrimBlankChar(c.GetString("tag")) != "" { + params.MapData["tag"] = params.Tag + } + if utils.TrimBlankChar(c.GetString("remark")) != "" { + params.MapData["remark"] = params.Remark + } + if utils.TrimBlankChar(c.GetString("isDefault")) != "" { + params.MapData["isDefault"] = params.IsDefault + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.UpdateMyDeliveryAddress, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.UpdateMyDeliveryAddress, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.UpdateMyDeliveryAddress error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderCashParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderID string + PayType int + VendorPayType string +} + +// func (c *OrderController) Cash() { +// c.callCash(func(params *tOrderCashParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callCash(handler func(params *tOrderCashParams) (interface{}, string, error)) { + var err error + params := &tOrderCashParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderID = utils.TrimBlankChar(c.GetString("orderID")) + if params.PayType, err = c.GetInt("payType", 0); err != nil { + errParams = append(errParams, "payType") + } + params.VendorPayType = utils.TrimBlankChar(c.GetString("vendorPayType")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("orderID") == "" { + errParams = append(errParams, "orderID") + } + params.MapData["orderID"] = params.OrderID + if c.GetString("payType") == "" { + errParams = append(errParams, "payType") + } + params.MapData["payType"] = params.PayType + if c.GetString("vendorPayType") == "" { + errParams = append(errParams, "vendorPayType") + } + params.MapData["vendorPayType"] = params.VendorPayType + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.Cash, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.Cash, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.Cash error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetUnionActListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorID int + ActType int +} + +// func (c *UnionController) GetUnionActList() { +// c.callGetUnionActList(func(params *tUnionGetUnionActListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetUnionActList(handler func(params *tUnionGetUnionActListParams) (interface{}, string, error)) { + var err error + params := &tUnionGetUnionActListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.ActType, err = c.GetInt("actType", 0); err != nil { + errParams = append(errParams, "actType") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("vendorID") == "" { + errParams = append(errParams, "vendorID") + } + params.MapData["vendorID"] = params.VendorID + if c.GetString("actType") == "" { + errParams = append(errParams, "actType") + } + params.MapData["actType"] = params.ActType + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetUnionActList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetUnionActList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetUnionActList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsUpdateConfigParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Type string + Key string + Value string +} + +// func (c *CmsController) UpdateConfig() { +// c.callUpdateConfig(func(params *tCmsUpdateConfigParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callUpdateConfig(handler func(params *tCmsUpdateConfigParams) (interface{}, string, error)) { + var err error + params := &tCmsUpdateConfigParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Type = utils.TrimBlankChar(c.GetString("type")) + params.Key = utils.TrimBlankChar(c.GetString("key")) + params.Value = utils.TrimBlankChar(c.GetString("value")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("type") == "" { + errParams = append(errParams, "type") + } + params.MapData["type"] = params.Type + if c.GetString("key") == "" { + errParams = append(errParams, "key") + } + params.MapData["key"] = params.Key + if c.GetString("value") == "" { + errParams = append(errParams, "value") + } + params.MapData["value"] = params.Value + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.UpdateConfig, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.UpdateConfig, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.UpdateConfig error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetVendorMatterDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorID int + GoodsID string +} + +// func (c *UnionController) GetVendorMatterDetail() { +// c.callGetVendorMatterDetail(func(params *tUnionGetVendorMatterDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetVendorMatterDetail(handler func(params *tUnionGetVendorMatterDetailParams) (interface{}, string, error)) { + var err error + params := &tUnionGetVendorMatterDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + params.GoodsID = utils.TrimBlankChar(c.GetString("goodsID")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("vendorID") == "" { + errParams = append(errParams, "vendorID") + } + params.MapData["vendorID"] = params.VendorID + if c.GetString("goodsID") == "" { + errParams = append(errParams, "goodsID") + } + params.MapData["goodsID"] = params.GoodsID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetVendorMatterDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetVendorMatterDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetVendorMatterDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressGetOrderDetailParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + ExpressType int + OrderNo string +} + +// func (c *QBiDaExpressController) GetOrderDetail() { +// c.callGetOrderDetail(func(params *tExpressGetOrderDetailParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callGetOrderDetail(handler func(params *tExpressGetOrderDetailParams) (interface{}, string, error)) { + var err error + params := &tExpressGetOrderDetailParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.ExpressType, err = c.GetInt("expressType", 0); err != nil { + errParams = append(errParams, "expressType") + } + params.OrderNo = utils.TrimBlankChar(c.GetString("orderNo")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("expressType") == "" { + errParams = append(errParams, "expressType") + } + params.MapData["expressType"] = params.ExpressType + if c.GetString("orderNo") == "" { + errParams = append(errParams, "orderNo") + } + params.MapData["orderNo"] = params.OrderNo + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.GetOrderDetail, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.GetOrderDetail, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.GetOrderDetail error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tWithdrawalExamineWithdrawalOrderParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Phone string + OrderId string + ExamineStatus int + Remark string + UserId string +} + +// func (c *WithdrawalRecordController) ExamineWithdrawalOrder() { +// c.callExamineWithdrawalOrder(func(params *tWithdrawalExamineWithdrawalOrderParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *WithdrawalRecordController) callExamineWithdrawalOrder(handler func(params *tWithdrawalExamineWithdrawalOrderParams) (interface{}, string, error)) { + var err error + params := &tWithdrawalExamineWithdrawalOrderParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Phone = utils.TrimBlankChar(c.GetString("phone")) + params.OrderId = utils.TrimBlankChar(c.GetString("orderId")) + if params.ExamineStatus, err = c.GetInt("examineStatus", 0); err != nil { + errParams = append(errParams, "examineStatus") + } + params.Remark = utils.TrimBlankChar(c.GetString("remark")) + params.UserId = utils.TrimBlankChar(c.GetString("userId")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("phone") == "" { + errParams = append(errParams, "phone") + } + params.MapData["phone"] = params.Phone + if c.GetString("orderId") == "" { + errParams = append(errParams, "orderId") + } + params.MapData["orderId"] = params.OrderId + if c.GetString("examineStatus") == "" { + errParams = append(errParams, "examineStatus") + } + params.MapData["examineStatus"] = params.ExamineStatus + if utils.TrimBlankChar(c.GetString("remark")) != "" { + params.MapData["remark"] = params.Remark + } + if utils.TrimBlankChar(c.GetString("userId")) != "" { + params.MapData["userId"] = params.UserId + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API WithdrawalRecordController.ExamineWithdrawalOrder, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API WithdrawalRecordController.ExamineWithdrawalOrder, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API WithdrawalRecordController.ExamineWithdrawalOrder error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetUserParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string +} + +// func (c *User2Controller) GetUser() { +// c.callGetUser(func(params *tUser2GetUserParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetUser(handler func(params *tUser2GetUserParams) (interface{}, string, error)) { + var err error + params := &tUser2GetUserParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetUser, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetUser, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetUser error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderGetOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderID string + UserID string + OrderType int + CityCodes string + FromTime string + ToTime string + Keyword string + Offset int + PageSize int +} + +// func (c *OrderController) GetOrders() { +// c.callGetOrders(func(params *tOrderGetOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetOrders(handler func(params *tOrderGetOrdersParams) (interface{}, string, error)) { + var err error + params := &tOrderGetOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderID = utils.TrimBlankChar(c.GetString("orderID")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.OrderType, err = c.GetInt("orderType", 0); err != nil { + errParams = append(errParams, "orderType") + } + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("orderID")) != "" { + params.MapData["orderID"] = params.OrderID + } + if utils.TrimBlankChar(c.GetString("userID")) != "" { + params.MapData["userID"] = params.UserID + } + if utils.TrimBlankChar(c.GetString("orderType")) != "" { + params.MapData["orderType"] = params.OrderType + } + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.GetOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.GetOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.GetOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventTransferMessageGroupMasterParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + GroupID int + UserID string +} + +// func (c *EventController) TransferMessageGroupMaster() { +// c.callTransferMessageGroupMaster(func(params *tEventTransferMessageGroupMasterParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callTransferMessageGroupMaster(handler func(params *tEventTransferMessageGroupMasterParams) (interface{}, string, error)) { + var err error + params := &tEventTransferMessageGroupMasterParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.GroupID, err = c.GetInt("groupID", 0); err != nil { + errParams = append(errParams, "groupID") + } + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("groupID") == "" { + errParams = append(errParams, "groupID") + } + params.MapData["groupID"] = params.GroupID + if c.GetString("userID") == "" { + errParams = append(errParams, "userID") + } + params.MapData["userID"] = params.UserID + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.TransferMessageGroupMaster, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.TransferMessageGroupMaster, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.TransferMessageGroupMaster error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsGetServiceInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *CmsController) GetServiceInfo() { +// c.callGetServiceInfo(func(params *tCmsGetServiceInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callGetServiceInfo(handler func(params *tCmsGetServiceInfoParams) (interface{}, string, error)) { + var err error + params := &tCmsGetServiceInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.GetServiceInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.GetServiceInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.GetServiceInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsUpdatePlaceParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Code int +} + +// func (c *CmsController) UpdatePlace() { +// c.callUpdatePlace(func(params *tCmsUpdatePlaceParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callUpdatePlace(handler func(params *tCmsUpdatePlaceParams) (interface{}, string, error)) { + var err error + params := &tCmsUpdatePlaceParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Code, err = c.GetInt("code", 0); err != nil { + errParams = append(errParams, "code") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("code") == "" { + errParams = append(errParams, "code") + } + params.MapData["code"] = params.Code + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.UpdatePlace, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.UpdatePlace, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.UpdatePlace error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2UpdateUserByMiniInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Data string + Iv string + JsCode string +} + +// func (c *User2Controller) UpdateUserByMiniInfo() { +// c.callUpdateUserByMiniInfo(func(params *tUser2UpdateUserByMiniInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callUpdateUserByMiniInfo(handler func(params *tUser2UpdateUserByMiniInfoParams) (interface{}, string, error)) { + var err error + params := &tUser2UpdateUserByMiniInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Data = utils.TrimBlankChar(c.GetString("data")) + params.Iv = utils.TrimBlankChar(c.GetString("iv")) + params.JsCode = utils.TrimBlankChar(c.GetString("jsCode")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("data") == "" { + errParams = append(errParams, "data") + } + params.MapData["data"] = params.Data + if c.GetString("iv") == "" { + errParams = append(errParams, "iv") + } + params.MapData["iv"] = params.Iv + if utils.TrimBlankChar(c.GetString("jsCode")) != "" { + params.MapData["jsCode"] = params.JsCode + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.UpdateUserByMiniInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.UpdateUserByMiniInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.UpdateUserByMiniInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderGetManageStatisticsJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + CityCodes string + FromTime string + ToTime string + JobIDs string + Offset int + PageSize int +} + +// func (c *OrderController) GetManageStatisticsJob() { +// c.callGetManageStatisticsJob(func(params *tOrderGetManageStatisticsJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetManageStatisticsJob(handler func(params *tOrderGetManageStatisticsJobParams) (interface{}, string, error)) { + var err error + params := &tOrderGetManageStatisticsJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + params.JobIDs = utils.TrimBlankChar(c.GetString("jobIDs")) + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("jobIDs")) != "" { + params.MapData["jobIDs"] = params.JobIDs + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.GetManageStatisticsJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.GetManageStatisticsJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.GetManageStatisticsJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobGetStationListParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + StationName string + CityCode int + Lat float64 + Lng float64 + OilCode string + SortType int + Offset int + PageSize int +} + +// func (c *JobController) GetStationList() { +// c.callGetStationList(func(params *tJobGetStationListParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callGetStationList(handler func(params *tJobGetStationListParams) (interface{}, string, error)) { + var err error + params := &tJobGetStationListParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.StationName = utils.TrimBlankChar(c.GetString("stationName")) + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + params.OilCode = utils.TrimBlankChar(c.GetString("oilCode")) + if params.SortType, err = c.GetInt("sortType", 0); err != nil { + errParams = append(errParams, "sortType") + } + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("stationName")) != "" { + params.MapData["stationName"] = params.StationName + } + if utils.TrimBlankChar(c.GetString("cityCode")) != "" { + params.MapData["cityCode"] = params.CityCode + } + if utils.TrimBlankChar(c.GetString("lat")) != "" { + params.MapData["lat"] = params.Lat + } + if utils.TrimBlankChar(c.GetString("lng")) != "" { + params.MapData["lng"] = params.Lng + } + if utils.TrimBlankChar(c.GetString("oilCode")) != "" { + params.MapData["oilCode"] = params.OilCode + } + if utils.TrimBlankChar(c.GetString("sortType")) != "" { + params.MapData["sortType"] = params.SortType + } + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.GetStationList, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.GetStationList, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.GetStationList error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tExpressQueryExpressPriceParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + PromiseTimeType int + DeliveryType int + GoodsValue float64 + ReceiveAddress string + SendAddress string + Type int + Weight int + Length int + Width int + Height int + SendPhone string + ChannelType int +} + +// func (c *QBiDaExpressController) QueryExpressPrice() { +// c.callQueryExpressPrice(func(params *tExpressQueryExpressPriceParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *QBiDaExpressController) callQueryExpressPrice(handler func(params *tExpressQueryExpressPriceParams) (interface{}, string, error)) { + var err error + params := &tExpressQueryExpressPriceParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.PromiseTimeType, err = c.GetInt("promiseTimeType", 0); err != nil { + errParams = append(errParams, "promiseTimeType") + } + if params.DeliveryType, err = c.GetInt("deliveryType", 0); err != nil { + errParams = append(errParams, "deliveryType") + } + if params.GoodsValue, err = c.GetFloat("goodsValue", 0); err != nil { + errParams = append(errParams, "goodsValue") + } + params.ReceiveAddress = utils.TrimBlankChar(c.GetString("receiveAddress")) + params.SendAddress = utils.TrimBlankChar(c.GetString("sendAddress")) + if params.Type, err = c.GetInt("type", 0); err != nil { + errParams = append(errParams, "type") + } + if params.Weight, err = c.GetInt("weight", 0); err != nil { + errParams = append(errParams, "weight") + } + if params.Length, err = c.GetInt("length", 0); err != nil { + errParams = append(errParams, "length") + } + if params.Width, err = c.GetInt("width", 0); err != nil { + errParams = append(errParams, "width") + } + if params.Height, err = c.GetInt("height", 0); err != nil { + errParams = append(errParams, "height") + } + params.SendPhone = utils.TrimBlankChar(c.GetString("sendPhone")) + if params.ChannelType, err = c.GetInt("channelType", 0); err != nil { + errParams = append(errParams, "channelType") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("promiseTimeType")) != "" { + params.MapData["promiseTimeType"] = params.PromiseTimeType + } + if utils.TrimBlankChar(c.GetString("deliveryType")) != "" { + params.MapData["deliveryType"] = params.DeliveryType + } + if utils.TrimBlankChar(c.GetString("goodsValue")) != "" { + params.MapData["goodsValue"] = params.GoodsValue + } + if c.GetString("receiveAddress") == "" { + errParams = append(errParams, "receiveAddress") + } + params.MapData["receiveAddress"] = params.ReceiveAddress + if c.GetString("sendAddress") == "" { + errParams = append(errParams, "sendAddress") + } + params.MapData["sendAddress"] = params.SendAddress + if utils.TrimBlankChar(c.GetString("type")) != "" { + params.MapData["type"] = params.Type + } + if c.GetString("weight") == "" { + errParams = append(errParams, "weight") + } + params.MapData["weight"] = params.Weight + if utils.TrimBlankChar(c.GetString("length")) != "" { + params.MapData["length"] = params.Length + } + if utils.TrimBlankChar(c.GetString("width")) != "" { + params.MapData["width"] = params.Width + } + if utils.TrimBlankChar(c.GetString("height")) != "" { + params.MapData["height"] = params.Height + } + if c.GetString("sendPhone") == "" { + errParams = append(errParams, "sendPhone") + } + params.MapData["sendPhone"] = params.SendPhone + if c.GetString("channelType") == "" { + errParams = append(errParams, "channelType") + } + params.MapData["channelType"] = params.ChannelType + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API QBiDaExpressController.QueryExpressPrice, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API QBiDaExpressController.QueryExpressPrice, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API QBiDaExpressController.QueryExpressPrice error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tRechargeGetUserRechargeParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Page int + PageSize int + Mobile string + OrderId string +} + +// func (c *RechargeManagerController) GetUserRecharge() { +// c.callGetUserRecharge(func(params *tRechargeGetUserRechargeParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *RechargeManagerController) callGetUserRecharge(handler func(params *tRechargeGetUserRechargeParams) (interface{}, string, error)) { + var err error + params := &tRechargeGetUserRechargeParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Page, err = c.GetInt("page", 0); err != nil { + errParams = append(errParams, "page") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + params.OrderId = utils.TrimBlankChar(c.GetString("orderId")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("page") == "" { + errParams = append(errParams, "page") + } + params.MapData["page"] = params.Page + if c.GetString("pageSize") == "" { + errParams = append(errParams, "pageSize") + } + params.MapData["pageSize"] = params.PageSize + if utils.TrimBlankChar(c.GetString("mobile")) != "" { + params.MapData["mobile"] = params.Mobile + } + if utils.TrimBlankChar(c.GetString("orderId")) != "" { + params.MapData["orderId"] = params.OrderId + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API RechargeManagerController.GetUserRecharge, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API RechargeManagerController.GetUserRecharge, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API RechargeManagerController.GetUserRecharge error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetBindAuthInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *User2Controller) GetBindAuthInfo() { +// c.callGetBindAuthInfo(func(params *tUser2GetBindAuthInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetBindAuthInfo(handler func(params *tUser2GetBindAuthInfoParams) (interface{}, string, error)) { + var err error + params := &tUser2GetBindAuthInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetBindAuthInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetBindAuthInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetBindAuthInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderFinishedCashOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderIDs string +} + +// func (c *OrderController) FinishedCashOrders() { +// c.callFinishedCashOrders(func(params *tOrderFinishedCashOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callFinishedCashOrders(handler func(params *tOrderFinishedCashOrdersParams) (interface{}, string, error)) { + var err error + params := &tOrderFinishedCashOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderIDs = utils.TrimBlankChar(c.GetString("orderIDs")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("orderIDs") == "" { + errParams = append(errParams, "orderIDs") + } + params.MapData["orderIDs"] = params.OrderIDs + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.FinishedCashOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.FinishedCashOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.FinishedCashOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderPayByBalanceParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + OrderID string + PayType int + VendorPayType string + OrderType string + AppId string + IsChoose int +} + +// func (c *OrderController) PayByBalance() { +// c.callPayByBalance(func(params *tOrderPayByBalanceParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callPayByBalance(handler func(params *tOrderPayByBalanceParams) (interface{}, string, error)) { + var err error + params := &tOrderPayByBalanceParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.OrderID = utils.TrimBlankChar(c.GetString("orderID")) + if params.PayType, err = c.GetInt("payType", 0); err != nil { + errParams = append(errParams, "payType") + } + params.VendorPayType = utils.TrimBlankChar(c.GetString("vendorPayType")) + params.OrderType = utils.TrimBlankChar(c.GetString("orderType")) + params.AppId = utils.TrimBlankChar(c.GetString("appId")) + if params.IsChoose, err = c.GetInt("isChoose", 0); err != nil { + errParams = append(errParams, "isChoose") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("orderID") == "" { + errParams = append(errParams, "orderID") + } + params.MapData["orderID"] = params.OrderID + if c.GetString("payType") == "" { + errParams = append(errParams, "payType") + } + params.MapData["payType"] = params.PayType + if c.GetString("vendorPayType") == "" { + errParams = append(errParams, "vendorPayType") + } + params.MapData["vendorPayType"] = params.VendorPayType + if c.GetString("orderType") == "" { + errParams = append(errParams, "orderType") + } + params.MapData["orderType"] = params.OrderType + if c.GetString("appId") == "" { + errParams = append(errParams, "appId") + } + params.MapData["appId"] = params.AppId + if c.GetString("isChoose") == "" { + errParams = append(errParams, "isChoose") + } + params.MapData["isChoose"] = params.IsChoose + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.PayByBalance, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.PayByBalance, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.PayByBalance error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tWithdrawalAddWithdrawalRecordParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + WithdrawalMoney int + AlipayAccount string + AlipayName string + Lng float64 + Lat float64 + CityCode int + DistrictCode int +} + +// func (c *WithdrawalRecordController) AddWithdrawalRecord() { +// c.callAddWithdrawalRecord(func(params *tWithdrawalAddWithdrawalRecordParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *WithdrawalRecordController) callAddWithdrawalRecord(handler func(params *tWithdrawalAddWithdrawalRecordParams) (interface{}, string, error)) { + var err error + params := &tWithdrawalAddWithdrawalRecordParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.WithdrawalMoney, err = c.GetInt("withdrawalMoney", 0); err != nil { + errParams = append(errParams, "withdrawalMoney") + } + params.AlipayAccount = utils.TrimBlankChar(c.GetString("alipayAccount")) + params.AlipayName = utils.TrimBlankChar(c.GetString("alipayName")) + if params.Lng, err = c.GetFloat("lng", 0); err != nil { + errParams = append(errParams, "lng") + } + if params.Lat, err = c.GetFloat("lat", 0); err != nil { + errParams = append(errParams, "lat") + } + if params.CityCode, err = c.GetInt("cityCode", 0); err != nil { + errParams = append(errParams, "cityCode") + } + if params.DistrictCode, err = c.GetInt("districtCode", 0); err != nil { + errParams = append(errParams, "districtCode") + } + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("withdrawalMoney") == "" { + errParams = append(errParams, "withdrawalMoney") + } + params.MapData["withdrawalMoney"] = params.WithdrawalMoney + if c.GetString("alipayAccount") == "" { + errParams = append(errParams, "alipayAccount") + } + params.MapData["alipayAccount"] = params.AlipayAccount + if c.GetString("alipayName") == "" { + errParams = append(errParams, "alipayName") + } + params.MapData["alipayName"] = params.AlipayName + if c.GetString("lng") == "" { + errParams = append(errParams, "lng") + } + params.MapData["lng"] = params.Lng + if c.GetString("lat") == "" { + errParams = append(errParams, "lat") + } + params.MapData["lat"] = params.Lat + if c.GetString("cityCode") == "" { + errParams = append(errParams, "cityCode") + } + params.MapData["cityCode"] = params.CityCode + if c.GetString("districtCode") == "" { + errParams = append(errParams, "districtCode") + } + params.MapData["districtCode"] = params.DistrictCode + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API WithdrawalRecordController.AddWithdrawalRecord, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API WithdrawalRecordController.AddWithdrawalRecord, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API WithdrawalRecordController.AddWithdrawalRecord error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderGetPayStatisticsParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + UserID string + Pop int + CityCodes string + Mobile string + FromTime string + ToTime string + OrderTypes string +} + +// func (c *OrderController) GetPayStatistics() { +// c.callGetPayStatistics(func(params *tOrderGetPayStatisticsParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetPayStatistics(handler func(params *tOrderGetPayStatisticsParams) (interface{}, string, error)) { + var err error + params := &tOrderGetPayStatisticsParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.UserID = utils.TrimBlankChar(c.GetString("userID")) + if params.Pop, err = c.GetInt("pop", 0); err != nil { + errParams = append(errParams, "pop") + } + params.CityCodes = utils.TrimBlankChar(c.GetString("cityCodes")) + params.Mobile = utils.TrimBlankChar(c.GetString("mobile")) + params.FromTime = utils.TrimBlankChar(c.GetString("fromTime")) + params.ToTime = utils.TrimBlankChar(c.GetString("toTime")) + params.OrderTypes = utils.TrimBlankChar(c.GetString("orderTypes")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("userID")) != "" { + params.MapData["userID"] = params.UserID + } + if utils.TrimBlankChar(c.GetString("pop")) != "" { + params.MapData["pop"] = params.Pop + } + if utils.TrimBlankChar(c.GetString("cityCodes")) != "" { + params.MapData["cityCodes"] = params.CityCodes + } + if utils.TrimBlankChar(c.GetString("mobile")) != "" { + params.MapData["mobile"] = params.Mobile + } + if utils.TrimBlankChar(c.GetString("fromTime")) != "" { + params.MapData["fromTime"] = params.FromTime + } + if utils.TrimBlankChar(c.GetString("toTime")) != "" { + params.MapData["toTime"] = params.ToTime + } + if utils.TrimBlankChar(c.GetString("orderTypes")) != "" { + params.MapData["orderTypes"] = params.OrderTypes + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.GetPayStatistics, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.GetPayStatistics, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.GetPayStatistics error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobUpdateJobParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Payload string +} + +// func (c *JobController) UpdateJob() { +// c.callUpdateJob(func(params *tJobUpdateJobParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callUpdateJob(handler func(params *tJobUpdateJobParams) (interface{}, string, error)) { + var err error + params := &tJobUpdateJobParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Payload = utils.TrimBlankChar(c.GetString("payload")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("payload") == "" { + errParams = append(errParams, "payload") + } + params.MapData["payload"] = params.Payload + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.UpdateJob, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.UpdateJob, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.UpdateJob error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUnionGetVendorMatterRcmmdParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorID int + GoodsID string + RcmmdType int + Offset int + PageSize int +} + +// func (c *UnionController) GetVendorMatterRcmmd() { +// c.callGetVendorMatterRcmmd(func(params *tUnionGetVendorMatterRcmmdParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *UnionController) callGetVendorMatterRcmmd(handler func(params *tUnionGetVendorMatterRcmmdParams) (interface{}, string, error)) { + var err error + params := &tUnionGetVendorMatterRcmmdParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + params.GoodsID = utils.TrimBlankChar(c.GetString("goodsID")) + if params.RcmmdType, err = c.GetInt("rcmmdType", 0); err != nil { + errParams = append(errParams, "rcmmdType") + } + if params.Offset, err = c.GetInt("offset", 0); err != nil { + errParams = append(errParams, "offset") + } + if params.PageSize, err = c.GetInt("pageSize", 0); err != nil { + errParams = append(errParams, "pageSize") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("vendorID") == "" { + errParams = append(errParams, "vendorID") + } + params.MapData["vendorID"] = params.VendorID + if c.GetString("goodsID") == "" { + errParams = append(errParams, "goodsID") + } + params.MapData["goodsID"] = params.GoodsID + if c.GetString("rcmmdType") == "" { + errParams = append(errParams, "rcmmdType") + } + params.MapData["rcmmdType"] = params.RcmmdType + if utils.TrimBlankChar(c.GetString("offset")) != "" { + params.MapData["offset"] = params.Offset + } + if utils.TrimBlankChar(c.GetString("pageSize")) != "" { + params.MapData["pageSize"] = params.PageSize + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API UnionController.GetVendorMatterRcmmd, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API UnionController.GetVendorMatterRcmmd, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API UnionController.GetVendorMatterRcmmd error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tEventTestWebsocketParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context +} + +// func (c *EventController) TestWebsocket() { +// c.callTestWebsocket(func(params *tEventTestWebsocketParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *EventController) callTestWebsocket(handler func(params *tEventTestWebsocketParams) (interface{}, string, error)) { + var err error + params := &tEventTestWebsocketParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API EventController.TestWebsocket, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API EventController.TestWebsocket, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API EventController.TestWebsocket error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tRechargeQueryAccountBillParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string +} + +// func (c *RechargeManagerController) QueryAccountBill() { +// c.callQueryAccountBill(func(params *tRechargeQueryAccountBillParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *RechargeManagerController) callQueryAccountBill(handler func(params *tRechargeQueryAccountBillParams) (interface{}, string, error)) { + var err error + params := &tRechargeQueryAccountBillParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API RechargeManagerController.QueryAccountBill, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API RechargeManagerController.QueryAccountBill, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API RechargeManagerController.QueryAccountBill error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tUser2GetUserByMiniInfoParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Data string + Iv string + JsCode string + AuthType string + AppID string +} + +// func (c *User2Controller) GetUserByMiniInfo() { +// c.callGetUserByMiniInfo(func(params *tUser2GetUserByMiniInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *User2Controller) callGetUserByMiniInfo(handler func(params *tUser2GetUserByMiniInfoParams) (interface{}, string, error)) { + var err error + params := &tUser2GetUserByMiniInfoParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Data = utils.TrimBlankChar(c.GetString("data")) + params.Iv = utils.TrimBlankChar(c.GetString("iv")) + params.JsCode = utils.TrimBlankChar(c.GetString("jsCode")) + params.AuthType = utils.TrimBlankChar(c.GetString("authType")) + params.AppID = utils.TrimBlankChar(c.GetString("appID")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if c.GetString("data") == "" { + errParams = append(errParams, "data") + } + params.MapData["data"] = params.Data + if c.GetString("iv") == "" { + errParams = append(errParams, "iv") + } + params.MapData["iv"] = params.Iv + if utils.TrimBlankChar(c.GetString("jsCode")) != "" { + params.MapData["jsCode"] = params.JsCode + } + if utils.TrimBlankChar(c.GetString("authType")) != "" { + params.MapData["authType"] = params.AuthType + } + if utils.TrimBlankChar(c.GetString("appID")) != "" { + params.MapData["appID"] = params.AppID + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API User2Controller.GetUserByMiniInfo, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API User2Controller.GetUserByMiniInfo, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API User2Controller.GetUserByMiniInfo error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tOrderSettleUnionOrdersParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorIDs string +} + +// func (c *OrderController) SettleUnionOrders() { +// c.callSettleUnionOrders(func(params *tOrderSettleUnionOrdersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callSettleUnionOrders(handler func(params *tOrderSettleUnionOrdersParams) (interface{}, string, error)) { + var err error + params := &tOrderSettleUnionOrdersParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorIDs = utils.TrimBlankChar(c.GetString("vendorIDs")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if utils.TrimBlankChar(c.GetString("vendorIDs")) != "" { + params.MapData["vendorIDs"] = params.VendorIDs + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API OrderController.SettleUnionOrders, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API OrderController.SettleUnionOrders, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API OrderController.SettleUnionOrders error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobCancelJdDeliveryParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + VendorWaybillID string + Reason string +} + +// func (c *JobController) CancelJdDelivery() { +// c.callCancelJdDelivery(func(params *tJobCancelJdDeliveryParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callCancelJdDelivery(handler func(params *tJobCancelJdDeliveryParams) (interface{}, string, error)) { + var err error + params := &tJobCancelJdDeliveryParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.VendorWaybillID = utils.TrimBlankChar(c.GetString("vendorWaybillID")) + params.Reason = utils.TrimBlankChar(c.GetString("reason")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("vendorWaybillID") == "" { + errParams = append(errParams, "vendorWaybillID") + } + params.MapData["vendorWaybillID"] = params.VendorWaybillID + if c.GetString("reason") == "" { + errParams = append(errParams, "reason") + } + params.MapData["reason"] = params.Reason + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.CancelJdDelivery, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.CancelJdDelivery, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.CancelJdDelivery error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tCmsGetPlacesParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Keyword string + ParentCode int + Level int + IncludeDisabled bool +} + +// func (c *CmsController) GetPlaces() { +// c.callGetPlaces(func(params *tCmsGetPlacesParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *CmsController) callGetPlaces(handler func(params *tCmsGetPlacesParams) (interface{}, string, error)) { + var err error + params := &tCmsGetPlacesParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Keyword = utils.TrimBlankChar(c.GetString("keyword")) + if params.ParentCode, err = c.GetInt("parentCode", 0); err != nil { + errParams = append(errParams, "parentCode") + } + if params.Level, err = c.GetInt("level", 0); err != nil { + errParams = append(errParams, "level") + } + if params.IncludeDisabled, err = c.GetBool("includeDisabled", false); err != nil { + errParams = append(errParams, "includeDisabled") + } + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if utils.TrimBlankChar(c.GetString("keyword")) != "" { + params.MapData["keyword"] = params.Keyword + } + if utils.TrimBlankChar(c.GetString("parentCode")) != "" { + params.MapData["parentCode"] = params.ParentCode + } + if utils.TrimBlankChar(c.GetString("level")) != "" { + params.MapData["level"] = params.Level + } + if utils.TrimBlankChar(c.GetString("includeDisabled")) != "" { + params.MapData["includeDisabled"] = params.IncludeDisabled + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API CmsController.GetPlaces, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API CmsController.GetPlaces, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API CmsController.GetPlaces error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tAuth2RemoveAuthBindParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + AuthType string + AuthTypeID string +} + +// func (c *Auth2Controller) RemoveAuthBind() { +// c.callRemoveAuthBind(func(params *tAuth2RemoveAuthBindParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *Auth2Controller) callRemoveAuthBind(handler func(params *tAuth2RemoveAuthBindParams) (interface{}, string, error)) { + var err error + params := &tAuth2RemoveAuthBindParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.AuthType = utils.TrimBlankChar(c.GetString("authType")) + params.AuthTypeID = utils.TrimBlankChar(c.GetString("authTypeID")) + if params.Token == "" { + errCode = model.ErrCodeTokenIsInvalid + err = model.ErrTokenIsInvalid + } + params.MapData["token"] = params.Token + if c.GetString("authType") == "" { + errParams = append(errParams, "authType") + } + params.MapData["authType"] = params.AuthType + if utils.TrimBlankChar(c.GetString("authTypeID")) != "" { + params.MapData["authTypeID"] = params.AuthTypeID + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx, errCode2, err2 = jxcontext.New(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API Auth2Controller.RemoveAuthBind, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API Auth2Controller.RemoveAuthBind, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API Auth2Controller.RemoveAuthBind error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} + +type tJobTempJobTestParams struct { + MapData map[string]interface{} + Ctx *jxcontext.Context + Token string + Data string +} + +// func (c *JobController) TempJobTest() { +// c.callTempJobTest(func(params *tJobTempJobTestParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *JobController) callTempJobTest(handler func(params *tJobTempJobTestParams) (interface{}, string, error)) { + var err error + params := &tJobTempJobTestParams{ + MapData : make(map[string]interface{}), + } + errParams := []string{} + token := c.Ctx.Input.Header("token") + errCode := model.ErrCodeGeneralFailed + + params.Token = utils.TrimBlankChar(c.Ctx.Input.Header("token")) + params.Data = utils.TrimBlankChar(c.GetString("data")) + if utils.TrimBlankChar(c.Ctx.Input.Header("token")) != "" { + params.MapData["token"] = params.Token + } + if utils.TrimBlankChar(c.GetString("data")) != "" { + params.MapData["data"] = params.Data + } + if len(errParams) > 0 && err == nil { + err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + if err == nil { + var ( + errCode2 string + err2 error + result interface{} + ) + params.Ctx = jxcontext.NewWithUserName(nil, token, c.Ctx.ResponseWriter, c.Ctx.Request) + if err = err2; err == nil { + globals.SugarLogger.Debugf("Begin API JobController.TempJobTest, username:%s, accessUUID:%s, data:%s\n", params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), utils.Format4Output(params.MapData, true)) + beginTime := time.Now() + result, errCode2, err2 = handler(params) + resultStr := "" + if err = err2; err == nil { + if globals.OutputDebugMsgLevel > 0 { + resultStr = utils.Format4Output(result, true) + } + if len(resultStr) > 2000000 { + resultStr = fmt.Sprintf("result len is:%d", len(resultStr)) + } + if errCode2 != model.ErrorCodeIgnore { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: model.ErrCodeSuccess, + Data: string(resultMarshal), + } + } else { + errCode = errCode2 + } + }else { + if errSync, ok := err2.(*cms.SyncError); ok { + if _,ok := errSync.Original.(*cms.SpecSyncError);ok{ + errCode2 = model.ErrCodeJsonSyncErr + errCode = errCode2 + } + } + } + if globals.IsAddEvent { + if params.Ctx != nil { + if params.Ctx.GetRequest().Method != http.MethodGet{ + var ( + errMsg string + errCodeEvent string + ) + if err2 != nil { + errMsg = err2.Error() + errCodeEvent = errCode + }else { + errMsg = "" + errCodeEvent = model.ErrCodeSuccess + } + event.AddOperateEvent(params.Ctx, params.Ctx.GetTrackInfo(), string(utils.MustMarshal(params.MapData)), errCodeEvent, errMsg, int(time.Now().Sub(beginTime) / time.Millisecond), "") + } + } + } + globals.SugarLogger.Debugf("End API JobController.TempJobTest, username:%s, accessUUID:%s, elapsed time:%d, data:%s, err:%v, errCode:%s, result:%s\n", + params.Ctx.GetUserName(), params.Ctx.GetTrackInfo(), int(time.Now().Sub(beginTime) / time.Millisecond), + utils.Format4Output(params.MapData, true), err, errCode2, resultStr) + } + if err != nil && errCode2 != model.ErrCodeSuccess && errCode2 != "" { + errCode = errCode2 + } + if err != nil { + globals.SugarLogger.Debugf("API JobController.TempJobTest error:%v, data:%s", err, utils.Format4Output(params.MapData, true)) + } + } + if errCode != model.ErrorCodeIgnore { + if err != nil { + if errCode == model.ErrCodeGeneralFailed && jsonerr.IsJsonErr(err) { + errCode = err.(*jsonerr.Error).ErrCode() + } + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() + } +} diff --git a/swagger/swagger.json b/swagger/swagger.json new file mode 100644 index 000000000..e76f8dab6 --- /dev/null +++ b/swagger/swagger.json @@ -0,0 +1,5818 @@ +{ + "swagger": "2.0", + "info": { + "title": "web Test API", + "description": "web has a very cool tools to autogenerate documents for your API", + "version": "1.0.0", + "termsOfService": "http://web.me/", + "contact": { + "email": "astaxie@gmail.com" + }, + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + } + }, + "basePath": "/v2", + "paths": { + "/auth2/AddAuthBind": { + "post": { + "tags": [ + "auth2" + ], + "description": "绑定认证方式", + "operationId": "Auth2Controller.绑定认证方式", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "authToken", + "description": "之前通过login得到的新认证TOKEN", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/AddAuthBindWithMobile": { + "post": { + "tags": [ + "auth2" + ], + "description": "绑定认证方式", + "operationId": "Auth2Controller.绑定认证方式", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "authToken", + "description": "之前通过login得到的新认证TOKEN", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "mobile", + "description": "之前通过getuserbyminiinfo得到的", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/ChangePassword": { + "put": { + "tags": [ + "auth2" + ], + "description": "修改(或初始化)密码", + "operationId": "Auth2Controller.修改(或初始化)密码", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "oldPwd", + "description": "原密码md5,如果是重置或新设,为空", + "type": "string" + }, + { + "in": "query", + "name": "newPwd", + "description": "新密码md5", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/CreateCaptcha": { + "post": { + "tags": [ + "auth2" + ], + "description": "生成captcha", + "operationId": "Auth2Controller.生成captcha", + "parameters": [ + { + "in": "formData", + "name": "width", + "description": "图片宽", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "height", + "description": "图片高", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "captchaLen", + "description": "captcha码长度", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/DeletedTokenInfoWithoutParam": { + "put": { + "tags": [ + "auth2" + ], + "description": "清除除参数token以外的这个人的token", + "operationId": "Auth2Controller.清除除参数token以外的这个人的token", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/DingDingOAuth2": { + "get": { + "tags": [ + "auth2" + ], + "description": "钉钉认证回调接口,自己不能直接调用", + "operationId": "Auth2Controller.钉钉认证回调接口", + "parameters": [ + { + "in": "query", + "name": "code", + "description": "客户同意后得到的code", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "block", + "description": "回调地址", + "type": "string" + }, + { + "in": "query", + "name": "state", + "description": "微信回调的登录状态", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/GetTokenInfo": { + "get": { + "tags": [ + "auth2" + ], + "description": "得到自己登录token的信息", + "operationId": "Auth2Controller.得到自己登录token的信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/Login": { + "post": { + "tags": [ + "auth2" + ], + "description": "登录接口(微信与公众号登录不能直接调用此接口)", + "operationId": "Auth2Controller.登录接口", + "parameters": [ + { + "in": "formData", + "name": "authType", + "description": "登录类型,当前支持[localpass:本地账号密码,mobile:手机短信,wxqrcode:微信登录,weixinsns:微信公众号,weixinmini;小程序,wxnative:微信APP,ddstaff:钉钉企业,ddqrcode:钉钉扫码,alipaycode:支付宝小程序]", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "authSecret", + "description": "不同登录类型的登录秘密,如果是localpass登录类型,是md5后的值(空串不要md5)", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "authID", + "description": "登录ID,登录类型为localpass时依赖于authIDType,其它为相应登录类型的id", + "type": "string" + }, + { + "in": "formData", + "name": "authIDType", + "description": "只有在登录类型为localpass时,才有意义,分别为:userid2:用户名,email,mobile", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/Logout": { + "delete": { + "tags": [ + "auth2" + ], + "description": "登出接口(此接口兼容V1的TOKEN)", + "operationId": "Auth2Controller.登出接口", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/RemoveAuthBind": { + "delete": { + "tags": [ + "auth2" + ], + "description": "删除认证方式", + "operationId": "Auth2Controller.删除认证方式", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "authType", + "description": "登录类型,参见Login的描述", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "authTypeID", + "description": "登录类型标识", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/SendVerifyCode": { + "post": { + "tags": [ + "auth2" + ], + "description": "发送验证码(captcha码与authToken二者必须至少有一个)", + "operationId": "Auth2Controller.发送验证码", + "parameters": [ + { + "in": "formData", + "name": "captchaID", + "description": "captcha码ID", + "type": "string" + }, + { + "in": "formData", + "name": "captchaValue", + "description": "captcha码值", + "type": "string" + }, + { + "in": "formData", + "name": "authToken", + "description": "之前的认证信息", + "type": "string" + }, + { + "in": "formData", + "name": "authID", + "description": "手机号或邮件", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/WeixinMPOAuth2": { + "get": { + "tags": [ + "auth2" + ], + "description": "微信公众号认证回调接口,自己不能直接调用", + "operationId": "Auth2Controller.微信公众号认证回调接口", + "parameters": [ + { + "in": "query", + "name": "code", + "description": "客户同意后得到的code", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "block", + "description": "回调地址", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "state", + "description": "微信回调的登录状态", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/auth2/WeixinOAuth2": { + "get": { + "tags": [ + "auth2" + ], + "description": "微信扫码认证回调接口,自己不能直接调用", + "operationId": "Auth2Controller.微信扫码认证回调接口", + "parameters": [ + { + "in": "query", + "name": "code", + "description": "客户同意后得到的code", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "block", + "description": "回调地址", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "state", + "description": "微信回调的登录状态", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/balance/UpdateUserBalance": { + "post": { + "tags": [ + "balance" + ], + "description": "用户余额", + "operationId": "UserBalanceController.修改用户账户余额", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "phone", + "description": "发起修改人电话", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userID", + "description": "被修用户Id", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "money", + "description": "修改后金额", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/bill/GetUserBillDetail": { + "get": { + "tags": [ + "bill" + ], + "description": "查看用户账户收支明细", + "operationId": "BillController.查看用户账户收支明细", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户ID", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/DeleteConfig": { + "delete": { + "tags": [ + "cms" + ], + "description": "删除配置", + "operationId": "CmsController.删除配置", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "type", + "description": "配置类型(当前只支持PricePack)", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "key", + "description": "配置名", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/GetPlaces": { + "get": { + "tags": [ + "cms" + ], + "description": "得到地点(省,城市,区)信息。", + "operationId": "CmsController.得到地点(省,城市,区)信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "查询关键字(可以为空,为空表示不限制)", + "type": "string" + }, + { + "in": "query", + "name": "parentCode", + "description": "上级地点code,这个指的是国家标准CODE(中国为:100000,北京为:110000,北京市为:110100),不是数据库中的ID", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "level", + "description": "地点级别:省为1,市为2,区为3,注意直辖市也要分省与市级", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "includeDisabled", + "description": "是否包括禁用的城市(缺省不包括)", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/GetQiniuUploadToken": { + "get": { + "tags": [ + "cms" + ], + "description": "得到七牛上传服务临时token,当前设置为5分钟内有效。正常使用场景为每次上传资源前实时获取,而不是保存下来一直使用,如果hashCode有值,且本地有,可能直接返回URL", + "operationId": "CmsController.得到七牛上传服务临时token", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "suffix", + "description": "前缀", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "hashCode", + "description": "图片hash", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/GetServiceInfo": { + "get": { + "tags": [ + "cms" + ], + "description": "得到服务相关的一些基础信息,包括版本,及一些元数据信息", + "operationId": "CmsController.得到服务相关的一些基础信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/InitPlace": { + "post": { + "tags": [ + "cms" + ], + "description": "init place", + "operationId": "CmsController.init place", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/InitStation": { + "post": { + "tags": [ + "cms" + ], + "description": "init station", + "operationId": "CmsController.init station", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/NewConfig": { + "post": { + "tags": [ + "cms" + ], + "description": "新增配置", + "operationId": "CmsController.新增配置", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "type", + "description": "配置类型(当前只支持PricePack)", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "key", + "description": "配置名", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "value", + "description": "配置值", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/QueryConfigs": { + "get": { + "tags": [ + "cms" + ], + "description": "查询配置", + "operationId": "CmsController.查询配置", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "type", + "description": "配置类型(当前只支持PricePack)", + "type": "string" + }, + { + "in": "query", + "name": "key", + "description": "配置名", + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/UpdateConfig": { + "put": { + "tags": [ + "cms" + ], + "description": "修改配置", + "operationId": "CmsController.修改配置", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "type", + "description": "配置类型(当前只支持PricePack)", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "key", + "description": "配置名", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "value", + "description": "配置值", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/cms/UpdatePlace": { + "put": { + "tags": [ + "cms" + ], + "description": "只支持修改enabled, jd_code和mtps_price这三个属性", + "operationId": "CmsController.修改地点信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "code", + "description": "地点编号,注意是code不是ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/AddMessageGroup": { + "post": { + "tags": [ + "event" + ], + "description": "加入用户组", + "operationId": "EventController.加入用户组", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "groupID", + "description": "组号", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "userID", + "description": "被邀请人ID", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/CreateMessageGroup": { + "post": { + "tags": [ + "event" + ], + "description": "创建聊天组", + "operationId": "EventController.创建聊天组", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userID", + "description": "创建者id", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userID2", + "description": "被拉的id 如果userID2为空就默认为是创建的群聊", + "type": "string" + }, + { + "in": "formData", + "name": "name", + "description": "如果是群聊,则要传入群名", + "type": "string" + }, + { + "in": "formData", + "name": "dividePercentage", + "description": "如果是群聊,则要传入分成比例", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "quitPrice", + "description": "如果是群聊,则要传入退团金额", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/DeleteMessageGroup": { + "post": { + "tags": [ + "event" + ], + "description": "退出用户组(踢人)", + "operationId": "EventController.退出用户组(踢人)", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "groupID", + "description": "组号", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "userID", + "description": "userID", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "flag", + "description": "是否是解散群", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/GetImMessageRecord": { + "get": { + "tags": [ + "event" + ], + "description": "查询聊天记录", + "operationId": "EventController.查询聊天记录", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "groupID", + "description": "组ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/GetMessageGroupByUser": { + "get": { + "tags": [ + "event" + ], + "description": "查询某个用户所有聊天组", + "operationId": "EventController.查询某个用户所有聊天组", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "userid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/GetMessageGroups": { + "get": { + "tags": [ + "event" + ], + "description": "查询聊天组", + "operationId": "EventController.查询聊天组", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "groupID", + "description": "groupID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "isMember", + "description": "是否查询组员", + "required": true, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/GetUserStatistics": { + "get": { + "tags": [ + "event" + ], + "description": "得到用户统计数据", + "operationId": "EventController.得到用户统计数据", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/SendSysMessage": { + "post": { + "tags": [ + "event" + ], + "description": "发送聊天消息(限定系统消息)", + "operationId": "EventController.发送聊天消息(限定系统消息)", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "immessageRecord 类型", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/TestWebsocket": { + "get": { + "tags": [ + "event" + ], + "description": "测试websocket", + "operationId": "EventController.测试websocket", + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/TransferMessageGroupMaster": { + "post": { + "tags": [ + "event" + ], + "description": "转让群主", + "operationId": "EventController.转让群主", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "groupID", + "description": "组号", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "userID", + "description": "userID", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/UpdateMessageGroup": { + "put": { + "tags": [ + "event" + ], + "description": "修改群组信息", + "operationId": "EventController.修改群组信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "groupID", + "description": "组号", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "payload", + "description": "群组 payload", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/UpdateUserMessageGroupRead": { + "post": { + "tags": [ + "event" + ], + "description": "用户未读消息设置,用户在退出登录,ws关闭,以及关闭小程序或app时调用", + "operationId": "EventController.用户未读消息设置", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "payload", + "description": "messageGroupRead 格式[{groupID:,unReadCount:}]", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/UploadAudio": { + "post": { + "tags": [ + "event" + ], + "description": "上传音频", + "operationId": "EventController.上传音频", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/event/UploadImg": { + "post": { + "tags": [ + "event" + ], + "description": "上传图片", + "operationId": "EventController.上传图片", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/CancelWayVendorOrder": { + "post": { + "tags": [ + "express" + ], + "description": "取消运单", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "genre", + "description": "1取消2关闭", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderNo", + "description": "订单编号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "type", + "description": "快递公司", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/CreateWayOrder": { + "post": { + "tags": [ + "express" + ], + "description": "下单", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "promiseTimeType", + "description": "快递时效产品", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "deliveryType", + "description": "产品类型", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "goods", + "description": "商品名称", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "guaranteeValueAmount", + "description": "保价金额", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "weight", + "description": "重量kg", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "length", + "description": "所有包裹累计长", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "width", + "description": "所有包裹累计宽", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "height", + "description": "所有包裹累计高", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderSendTime", + "description": "预约时间", + "type": "string" + }, + { + "in": "formData", + "name": "packageNum", + "description": "包裹数量", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "receiveAddress", + "description": "收件人地址", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "receiveName", + "description": "收件人姓名", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "receivePhone", + "description": "收件人手机号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "remark", + "description": "运单备注", + "type": "string" + }, + { + "in": "formData", + "name": "senderAddress", + "description": "寄件人地址", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "senderName", + "description": "寄件人姓名", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "senderPhone", + "description": "寄件人手机号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "thirdPlatform", + "description": "第三方平台", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "type", + "description": "快递公司", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "receiveAddressId", + "description": "收件人地址Id", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "senderAddressId", + "description": "寄件人地址Id", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "channelType", + "description": "渠道类型(1-快递,2-物流,3-国际物流,4-整车)", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "images", + "description": "物品图片多个用逗号隔开", + "type": "string" + }, + { + "in": "formData", + "name": "channelFee", + "description": "渠道价", + "required": true, + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "bulk", + "description": "泡比", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "serviceCharge", + "description": "服务费", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "guarantFee", + "description": "保价", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "originalFee", + "description": "原价", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "increment", + "description": "物流", + "type": "number", + "format": "double" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/DeleteOrder": { + "post": { + "tags": [ + "express" + ], + "description": "删除未支付订单,已支付订单一个星期后才能删除", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "localOrderId", + "description": "本地订单", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/GetOrderDetail": { + "post": { + "tags": [ + "express" + ], + "description": "获取订单详情", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "expressType", + "description": "就是type快递公司", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderNo", + "description": "订单Id,三方Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/GetOrderList": { + "post": { + "tags": [ + "express" + ], + "description": "管理系统获取订单详情", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "expressType", + "description": "就是type快递公司", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderNo", + "description": "订单Id,三方Id", + "type": "string" + }, + { + "in": "formData", + "name": "orderStatus", + "description": "订单状态", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageNum", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "startTime", + "description": "开始时间", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "endTime", + "description": "结束时间", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/QueryExpressPrice": { + "post": { + "tags": [ + "express" + ], + "description": "查询快递费", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "promiseTimeType", + "description": "快递时效产品", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "deliveryType", + "description": "产品类型", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "goodsValue", + "description": "保价金额", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "receiveAddress", + "description": "收件人地址", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "sendAddress", + "description": "寄件人地址", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "type", + "description": "快递公司", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "weight", + "description": "重量kg", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "length", + "description": "所有包裹累计长", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "width", + "description": "所有包裹累计宽", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "height", + "description": "所有包裹累计高", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "sendPhone", + "description": "寄件人手机号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "channelType", + "description": "渠道类型(1-快递,2-物流,3-国际物流,4-整车)", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/QueryUserOrderList": { + "post": { + "tags": [ + "express" + ], + "description": "获取用户订单列表", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "expressType", + "description": "就是type快递公司", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderStatus", + "description": "订单状态", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderNo", + "description": "订单号码", + "type": "string" + }, + { + "in": "formData", + "name": "pageNum", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/express/TryAgainOrderByOldOrder": { + "post": { + "tags": [ + "express" + ], + "description": "再来一单", + "operationId": "QBiDaExpressController.Q必达", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "用户token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "oldNo", + "description": "旧的订单Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/AcceptJob": { + "post": { + "tags": [ + "job" + ], + "description": "接任务", + "operationId": "JobController.接任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobID", + "description": "jobID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "dropShippingDeliveryID", + "description": "一件代发地址id", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "dropShippingCount", + "description": "一件代发商品数量", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/AddressDistinguish": { + "post": { + "tags": [ + "job" + ], + "description": "地址识别", + "operationId": "JobController.地址识别 (txcloud购买)", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "address", + "description": "完整地址", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/AuditJob": { + "post": { + "tags": [ + "job" + ], + "description": "审核任务", + "operationId": "JobController.审核任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobOrderID", + "description": "jobOrderID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "status", + "description": "审核标志,15 是通过,20是不通过", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "comment", + "description": "审核理由", + "type": "string" + }, + { + "in": "formData", + "name": "vendorWaybillID", + "description": "运单号(一件代发)", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/CancelAcceptJob": { + "post": { + "tags": [ + "job" + ], + "description": "用户取消接受的任务", + "operationId": "JobController.用户取消接受的任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobID", + "description": "jobID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "jobOrderID", + "description": "jobOrderID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/CancelJdDelivery": { + "post": { + "tags": [ + "job" + ], + "description": "取消京东快递", + "operationId": "JobController.取消京东快递", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "vendorWaybillID", + "description": "运单号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "reason", + "description": "取消原因", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/CancelPublishJob": { + "post": { + "tags": [ + "job" + ], + "description": "用户取消发布的任务", + "operationId": "JobController.用户取消发布的任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobID", + "description": "jobID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/CheckJdDeliveryWeight": { + "post": { + "tags": [ + "job" + ], + "description": "京东快递物流超重验证", + "operationId": "JobController.京东快递物流超重验证", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/ConfirmDropShippingJob": { + "post": { + "tags": [ + "job" + ], + "description": "确认收货(一件代发)", + "operationId": "JobController.确认收货(一件代发)", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobOrderID", + "description": "jobOrderID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/CreateJobSpan": { + "post": { + "tags": [ + "job" + ], + "description": "设置任务标签", + "operationId": "JobController.设置任务标签", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobIDs", + "description": "任务IDs", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "endAt", + "description": "截止日期", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "span", + "description": "标签,1为置顶,2为推荐", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetAllDeliveryDetail": { + "get": { + "tags": [ + "job" + ], + "description": "查询所有快递物流信息", + "operationId": "JobController.查询所有快递物流信息 (txcloud购买)", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorWaybillID", + "description": "运单号", + "type": "string" + }, + { + "in": "query", + "name": "comType", + "description": "快递公司编码", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetCoordinateFromAddress": { + "get": { + "tags": [ + "job" + ], + "description": "根据地址查坐标", + "operationId": "JobController.根据地址查坐标", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "address", + "description": "地址", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "cityCode", + "description": "cityCode", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetDeliveryDetail": { + "get": { + "tags": [ + "job" + ], + "description": "查询京东快递物流信息", + "operationId": "JobController.查询京东快递物流信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorWaybillID", + "description": "运单号", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetEjyOrders": { + "get": { + "tags": [ + "job" + ], + "description": "查询用户个人订单", + "operationId": "JobController.查询用户个人订单易加油", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetJdDelivery": { + "get": { + "tags": [ + "job" + ], + "description": "查询用户的京东快递", + "operationId": "JobController.查询用户的京东快递", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "status", + "description": "订单状态", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetJobCategories": { + "get": { + "tags": [ + "job" + ], + "description": "查看任务类型", + "operationId": "JobController.查看任务类型", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "name", + "description": "分类名", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetJobDetail": { + "get": { + "tags": [ + "job" + ], + "description": "查看任务", + "operationId": "JobController.查看任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "jobID", + "description": "任务ID", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "lng", + "description": "经度", + "type": "number", + "format": "double" + }, + { + "in": "query", + "name": "lat", + "description": "维度", + "type": "number", + "format": "double" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetJobOrders": { + "get": { + "tags": [ + "job" + ], + "description": "查看接受的任务列表", + "operationId": "JobController.查看接受的任务列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户ID", + "type": "string" + }, + { + "in": "query", + "name": "jobUserID", + "description": "发起任务的用户ID", + "type": "string" + }, + { + "in": "query", + "name": "jobOrderID", + "description": "任务订单ID", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "categoryID", + "description": "分类ID", + "type": "string" + }, + { + "in": "query", + "name": "statuss", + "description": "状态s", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetJobs": { + "get": { + "tags": [ + "job" + ], + "description": "查看任务列表", + "operationId": "JobController.查看任务列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "userIDs", + "description": "用户IDs", + "type": "string" + }, + { + "in": "query", + "name": "categoryIDs", + "description": "分类IDs", + "type": "string" + }, + { + "in": "query", + "name": "statuss", + "description": "状态s", + "type": "string" + }, + { + "in": "query", + "name": "vendorIDs", + "description": "平台IDs", + "type": "string" + }, + { + "in": "query", + "name": "cityCodes", + "description": "CityIDs", + "type": "string" + }, + { + "in": "query", + "name": "includeStep", + "description": "是否查询步骤,默认否", + "type": "boolean" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "lng", + "description": "经度", + "type": "number", + "format": "double" + }, + { + "in": "query", + "name": "lat", + "description": "维度", + "type": "number", + "format": "double" + }, + { + "in": "query", + "name": "span", + "description": "标签,1为置顶,2为推荐", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字", + "type": "string" + }, + { + "in": "query", + "name": "sortType", + "description": "排序类型, 1距离,2新店优先,3今日热门,4奖励高低", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetMtMembers": { + "get": { + "tags": [ + "job" + ], + "description": "查看美团会员", + "operationId": "JobController.查看美团会员", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/GetStationList": { + "get": { + "tags": [ + "job" + ], + "description": "获取油站列表", + "operationId": "JobController.获取油站列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "stationName", + "description": "油站名", + "type": "string" + }, + { + "in": "query", + "name": "cityCode", + "description": "城市ID", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "lat", + "description": "用户坐标", + "type": "number", + "format": "double" + }, + { + "in": "query", + "name": "lng", + "description": "用户坐标", + "type": "number", + "format": "double" + }, + { + "in": "query", + "name": "oilCode", + "description": "油号", + "type": "string" + }, + { + "in": "query", + "name": "sortType", + "description": "排序, 1为距离,2为评分,3为油价", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/ImprotMtMembers": { + "post": { + "tags": [ + "job" + ], + "description": "导入美团会员", + "operationId": "JobController.导入美团会员", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "mtmembers struct", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/PublishJob": { + "post": { + "tags": [ + "job" + ], + "description": "发布任务", + "operationId": "JobController.发布任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "job+step+img 类型", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/RechargeMtMembers": { + "post": { + "tags": [ + "job" + ], + "description": "充值美团会员", + "operationId": "JobController.充值美团会员", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "phone", + "description": "电话", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/RefreshJdDelivery": { + "post": { + "tags": [ + "job" + ], + "description": "手动刷新京东快递任务", + "operationId": "JobController.手动刷新京东快递任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/RefreshJobStatus": { + "post": { + "tags": [ + "job" + ], + "description": "刷新任务状态", + "operationId": "JobController.刷新任务状态", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/ReloadJobSpan": { + "post": { + "tags": [ + "job" + ], + "description": "置顶任务重排序", + "operationId": "JobController.置顶任务重排序", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobIDs", + "description": "任务IDs(按顺序)", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "span", + "description": "标签,1为置顶,2为推荐", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/SendJdDelivery": { + "post": { + "tags": [ + "job" + ], + "description": "发送京东快递", + "operationId": "JobController.发送京东快递", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "delivery order 类型", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "pickUpStartTime", + "description": "预约取件开始时间", + "type": "string" + }, + { + "in": "formData", + "name": "pickUpEndTime", + "description": "预约取件结束时间", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/SubmitJob": { + "post": { + "tags": [ + "job" + ], + "description": "提交任务", + "operationId": "JobController.提交任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "joborder type", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/TempJob": { + "post": { + "tags": [ + "job" + ], + "description": "测试接口", + "operationId": "JobController.测试接口", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/TempJobTest": { + "post": { + "tags": [ + "job" + ], + "description": "测试接口2", + "operationId": "JobController.测试接口2", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "formData", + "name": "data", + "description": "data", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/UpdateJob": { + "post": { + "tags": [ + "job" + ], + "description": "修改任务", + "operationId": "JobController.修改任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "job+step+img 类型", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/job/UserRefundEjy": { + "get": { + "tags": [ + "job" + ], + "description": "用户申请退款,易加油", + "operationId": "JobController.用户申请退款,易加油", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorOrderID", + "description": "易加油订单号", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "reason", + "description": "退款原因", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/openapi/CallOpenAPI": { + "post": { + "tags": [ + "openapi" + ], + "description": "api调用入口", + "operationId": "ApiController.api调用入口", + "parameters": [ + { + "in": "formData", + "name": "app_id", + "description": "应用ID", + "type": "string" + }, + { + "in": "formData", + "name": "timestamp", + "description": "unix时间戳", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "sign", + "description": "签名", + "type": "string" + }, + { + "in": "formData", + "name": "method", + "description": "接口名", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult2" + } + } + } + }, + "/order/Cash": { + "post": { + "tags": [ + "order" + ], + "description": "提现", + "operationId": "OrderController.提现", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderID", + "description": "订单号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payType", + "description": "支付平台类型", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "vendorPayType", + "description": "平台支付类型", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/CreateOrder": { + "post": { + "tags": [ + "order" + ], + "description": "创建订单", + "operationId": "OrderController.创建订单", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "type", + "description": "支付类型/账单类型", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "orderType", + "description": "订单类型,1为发任务,2为冲会员,3为发快递,6-需要充值到余额购买的方式,7-话费充值", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "way", + "description": "认证方式", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "price", + "description": "支付金额", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "lng", + "description": "经纬度", + "required": true, + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "lat", + "description": "经纬度", + "required": true, + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "mobile", + "description": "充值电话", + "type": "string" + }, + { + "in": "formData", + "name": "flowCode", + "description": "业务代码", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/FinishedCashOrders": { + "post": { + "tags": [ + "order" + ], + "description": "完成提现订单", + "operationId": "OrderController.完成提现订单", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderIDs", + "description": "订单号列表", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/GetManageStatisticsImg": { + "get": { + "tags": [ + "order" + ], + "description": "经营分析图表", + "operationId": "OrderController.经营分析图表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "cityCodes", + "description": "城市id列表", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "jobIDs", + "description": "任务IDs", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/GetManageStatisticsJob": { + "get": { + "tags": [ + "order" + ], + "description": "经营分析任务列表", + "operationId": "OrderController.经营分析任务列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "cityCodes", + "description": "城市id列表", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "jobIDs", + "description": "任务IDs", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/GetMyUnionOrders": { + "get": { + "tags": [ + "order" + ], + "description": "查询我的推广订单", + "operationId": "OrderController.查询我的推广订单", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "statuss", + "description": "状态s", + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "-1 全部", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "offset", + "description": "列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/GetOrders": { + "get": { + "tags": [ + "order" + ], + "description": "查询订单提现申请", + "operationId": "OrderController.查询订单提现申请", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "orderID", + "description": "订单号", + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户ID", + "type": "string" + }, + { + "in": "query", + "name": "orderType", + "description": "订单类型,1为支付,2为提现", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "cityCodes", + "description": "城市code列表", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/GetPayStatistics": { + "get": { + "tags": [ + "order" + ], + "description": "支付统计", + "operationId": "OrderController.支付统计", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户id", + "type": "string" + }, + { + "in": "query", + "name": "pop", + "description": "1为你邀请的,0为全部", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "cityCodes", + "description": "城市id列表", + "type": "string" + }, + { + "in": "query", + "name": "mobile", + "description": "用户手机,必须全匹配", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "消费开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "消费结束时间", + "type": "string" + }, + { + "in": "query", + "name": "orderTypes", + "description": "1为发任务,2为冲会员,3为发快递,4为一件代发支付", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/Pay": { + "post": { + "tags": [ + "order" + ], + "description": "支付", + "operationId": "OrderController.支付", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderID", + "description": "订单号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payType", + "description": "支付平台类型", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "vendorPayType", + "description": "平台支付类型", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderType", + "description": "订单类型member(会员),express快递,recharge充值,telephoneBill充话费", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "appId", + "description": "appId", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "isChoose", + "description": "-1:未选中余额抵消 1:余额抵消", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/PayByBalance": { + "post": { + "tags": [ + "order" + ], + "description": "支付", + "operationId": "OrderController.余额支付", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderID", + "description": "订单号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payType", + "description": "支付平台类型", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "vendorPayType", + "description": "平台支付类型", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderType", + "description": "订单类型member(会员),express快递,recharge充值", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "appId", + "description": "appId", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "isChoose", + "description": "-1:未选中余额抵消 1:余额抵消", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/order/SettleUnionOrders": { + "post": { + "tags": [ + "order" + ], + "description": "联盟订单结算", + "operationId": "OrderController.联盟订单结算", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorIDs", + "description": "平台IDs", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/recharge/GetRechargeOrderDetail": { + "get": { + "tags": [ + "recharge" + ], + "description": "订单详情查询", + "operationId": "RechargeManagerController.订单详情查询", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderId", + "description": "订单号", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "mobile", + "description": "手机号", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/recharge/GetUserRecharge": { + "post": { + "tags": [ + "recharge" + ], + "description": "分页查询用户充值列表", + "operationId": "RechargeManagerController.分页查询用户充值列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "page", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "mobile", + "description": "电话", + "type": "string" + }, + { + "in": "formData", + "name": "orderId", + "description": "订单号", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/recharge/QueryAccountBill": { + "get": { + "tags": [ + "recharge" + ], + "description": "查询当前账号余额", + "operationId": "RechargeManagerController.查询当前账号余额", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/recharge/SystemQueryRechargeList": { + "post": { + "tags": [ + "recharge" + ], + "description": "管理系统获取订单详情", + "operationId": "RechargeManagerController.管理系统获取订单详情", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderId", + "description": "订单号", + "type": "string" + }, + { + "in": "formData", + "name": "mobile", + "description": "手机号", + "type": "string" + }, + { + "in": "formData", + "name": "rechargeStatus", + "description": "充值状态 0-未提交,3-等待待充值(本地) 1:充值中(三方),2:已充值,-1:失败(三方)", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "page", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "startTime", + "description": "开始时间", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "endTime", + "description": "结束时间", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userName", + "description": "用户名", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/task/CancelTask": { + "put": { + "tags": [ + "task" + ], + "description": "取消长时间运行任务", + "operationId": "TaskController.取消长时间运行任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "taskID", + "description": "任务ID", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/task/GetTasks": { + "get": { + "tags": [ + "task" + ], + "description": "查询长时间运行任务", + "operationId": "TaskController.查询长时间运行任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "taskID", + "description": "任务ID", + "type": "string" + }, + { + "in": "query", + "name": "fromStatus", + "description": "起始状态", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "toStatus", + "description": "结束状态", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "lastHours", + "description": "多少小时以内的", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "createdBy", + "description": "创建人", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/task/UnmanageTasks": { + "put": { + "tags": [ + "task" + ], + "description": "取消管理任务", + "operationId": "TaskController.取消管理任务", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "taskIDs", + "description": "任务ID列表", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetPddBindInfo": { + "get": { + "tags": [ + "union" + ], + "description": "查询拼多多分享前,推广位有没有绑定授权", + "operationId": "UnionController.查询拼多多分享前,推广位有没有绑定授权", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetUnionActList": { + "get": { + "tags": [ + "union" + ], + "description": "查询联盟活动", + "operationId": "UnionController.查询联盟活动", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "平台ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "actType", + "description": "活动类型ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetUnionJobOrderInfo": { + "get": { + "tags": [ + "union" + ], + "description": "查看接取的联盟任务执行情况", + "operationId": "UnionController.查看接取的联盟任务执行情况", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "jobOrderID", + "description": "接取任务ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetUnionOrders": { + "get": { + "tags": [ + "union" + ], + "description": "查询联盟订单", + "operationId": "UnionController.查询联盟订单", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "vendorIDs", + "description": "平台IDs", + "type": "string" + }, + { + "in": "query", + "name": "statuss", + "description": "订单状态s", + "type": "string" + }, + { + "in": "query", + "name": "beginTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "endTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "页码", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "页大小", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetVendorMatterCategory": { + "get": { + "tags": [ + "union" + ], + "description": "查询平台物料分类", + "operationId": "UnionController.查询平台物料分类", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "平台ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetVendorMatterDetail": { + "get": { + "tags": [ + "union" + ], + "description": "查询平台物料详情", + "operationId": "UnionController.查询平台物料详情", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "平台ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "goodsID", + "description": "平台商品ID", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetVendorMatterRcmmd": { + "get": { + "tags": [ + "union" + ], + "description": "查询平台物料推荐", + "operationId": "UnionController.查询平台物料推荐", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "平台ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "goodsID", + "description": "平台商品ID", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "rcmmdType", + "description": "推荐类型,1为今日销量榜,3为相似商品,5为实时热销榜", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "offset", + "description": "页码", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "页大小", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/GetVendorMatters": { + "get": { + "tags": [ + "union" + ], + "description": "查询平台物料", + "operationId": "UnionController.查询平台物料", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "query", + "name": "vendorID", + "description": "平台ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "vendorCatID", + "description": "平台分类ID", + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "页码", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "页大小", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "listID", + "description": "分页用", + "type": "string" + }, + { + "in": "query", + "name": "sortType", + "description": "排序类型", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/union/ShareUnionLink": { + "post": { + "tags": [ + "union" + ], + "description": "分享联盟链接", + "operationId": "UnionController.分享联盟链接", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jobID", + "description": "任务ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "shareType", + "description": "分享类型,1为当前用户分享给别人,2为当前用户自己领取", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "resourceType", + "description": "资源类型", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "linkType", + "description": "链接类型,1 h5链接 2 deeplink(唤起)链接 3 中间页唤起链接 4 微信小程序唤起路径, 5为小程序二维码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "goodsID", + "description": "分享商品时的商品ID", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/AcceptAddGroup": { + "post": { + "tags": [ + "user2" + ], + "description": "被邀请用户达到4人时同意或拒绝入群", + "operationId": "User2Controller.被邀请用户达到4人时同意或拒绝入群", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "flag", + "description": "1为同意,0为拒绝", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/AddMyDeliveryAddress": { + "post": { + "tags": [ + "user2" + ], + "description": "用户自己增加配送地址", + "operationId": "User2Controller.用户自己增加配送地址", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "consigneeName", + "description": "收货人", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "consigneeMobile", + "description": "收货人手机", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "address", + "description": "地址(区县以下,门牌号以上的地址信息)", + "type": "string" + }, + { + "in": "formData", + "name": "detailAddress", + "description": "门牌号", + "type": "string" + }, + { + "in": "formData", + "name": "lng", + "description": "经度", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "lat", + "description": "纬度", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "tag", + "description": "标签", + "type": "string" + }, + { + "in": "formData", + "name": "remark", + "description": "备注", + "type": "string" + }, + { + "in": "formData", + "name": "isDefault", + "description": "是否是默认", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "type", + "description": "1为寄件人,2为取件人(收货人)", + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "autoAddress", + "description": "详细地址", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/AddUserCityManager": { + "post": { + "tags": [ + "user2" + ], + "description": "增加用户管理城市", + "operationId": "User2Controller.增加用户管理城市", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userID", + "description": "userID", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "cityCode", + "description": "cityCode", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/DeleteMyDeliveryAddress": { + "delete": { + "tags": [ + "user2" + ], + "description": "用户自己删除送地址", + "operationId": "User2Controller.用户自己删除配送地址", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "id", + "description": "地址ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/DeleteUserCityManager": { + "post": { + "tags": [ + "user2" + ], + "description": "删除用户管理城市", + "operationId": "User2Controller.删除用户管理城市", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "userID", + "description": "userID", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "cityCode", + "description": "cityCode", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetBindAuthInfo": { + "get": { + "tags": [ + "user2" + ], + "description": "得到用户已经成功绑定的认证信息", + "operationId": "User2Controller.得到用户已经成功绑定的认证信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetSelfInfo": { + "get": { + "tags": [ + "user2" + ], + "description": "得到用户自己的信息", + "operationId": "User2Controller.得到用户自己的信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetUser": { + "get": { + "tags": [ + "user2" + ], + "description": "得到用户", + "operationId": "User2Controller.得到用户", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetUserByMiniInfo": { + "post": { + "tags": [ + "user2" + ], + "description": "根据小程序jsCode查询用户信息", + "operationId": "User2Controller.根据小程序jsCode查询用户信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "type": "string" + }, + { + "in": "formData", + "name": "data", + "description": "加密数据", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "iv", + "description": "iv", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jsCode", + "description": "小程序jsCode", + "type": "string" + }, + { + "in": "formData", + "name": "authType", + "description": "authType", + "type": "string" + }, + { + "in": "formData", + "name": "appID", + "description": "appID", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetUserCityManager": { + "get": { + "tags": [ + "user2" + ], + "description": "获取用户管理城市", + "operationId": "User2Controller.获取用户管理城市", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "userID", + "type": "string" + }, + { + "in": "query", + "name": "cityCode", + "description": "cityCode", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetUserSerachKeyword": { + "get": { + "tags": [ + "user2" + ], + "description": "得到搜索关键词", + "operationId": "User2Controller.得到搜索关键词", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/GetUsers": { + "get": { + "tags": [ + "user2" + ], + "description": "得到用户列表", + "operationId": "User2Controller.得到用户列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "keyword", + "description": "关键字,可以部分匹配", + "type": "string" + }, + { + "in": "query", + "name": "userID", + "description": "用户id", + "type": "string" + }, + { + "in": "query", + "name": "pop", + "description": "1为你邀请的,0为全部", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "cityCodes", + "description": "城市id列表", + "type": "string" + }, + { + "in": "query", + "name": "mobile", + "description": "用户手机,必须全匹配", + "type": "string" + }, + { + "in": "query", + "name": "fromTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "query", + "name": "toTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "query", + "name": "timeType", + "description": "1为注册时间,2为消费时间", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "consumeTypes", + "description": "1为发任务,2为冲会员,3为发快递", + "type": "string" + }, + { + "in": "query", + "name": "offset", + "description": "门店列表起始序号(以0开始,缺省为0)", + "type": "integer", + "format": "int64" + }, + { + "in": "query", + "name": "pageSize", + "description": "门店列表页大小(缺省为50,-1表示全部)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/InvestMember": { + "post": { + "tags": [ + "user2" + ], + "description": "会员充值", + "operationId": "User2Controller.会员充值", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "memberID", + "description": "会员ID", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/LoadMyCart": { + "get": { + "tags": [ + "user2" + ], + "description": "得到用户指定门店的购物车信息", + "operationId": "User2Controller.得到用户指定门店的购物车信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "storeIDs", + "description": "门店ID", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/QueryMyDeliveryAddress": { + "get": { + "tags": [ + "user2" + ], + "description": "用户查询自己的配送地址", + "operationId": "User2Controller.用户查询自己的配送地址", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "type", + "description": "地址类型,1是寄件人,2是收货人", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/RegisterUser": { + "post": { + "tags": [ + "user2" + ], + "description": "用户注册", + "operationId": "User2Controller.用户注册", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "管理员token", + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "json数据,User对象(手机号必填)", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "mobileVerifyCode", + "description": "手机验证码(通过auth2.SendVerifyCode获得)(mobileVerifyCode与authToken不能同时为空)", + "type": "string" + }, + { + "in": "formData", + "name": "authToken", + "description": "之前通过login得到的认证TOKEN(mobileVerifyCode与authToken不能同时为空)", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/SaveMyCart": { + "post": { + "tags": [ + "user2" + ], + "description": "存储用户指定门店的购物车信息", + "operationId": "User2Controller.存储用户指定门店的购物车信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "storeID", + "description": "门店ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "payload", + "description": "完整的购物车商品列表", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/UpdateMyDeliveryAddress": { + "put": { + "tags": [ + "user2" + ], + "description": "用户自己修改配送地址", + "operationId": "User2Controller.用户自己修改配送地址", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "id", + "description": "地址ID", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "consigneeName", + "description": "收货人", + "type": "string" + }, + { + "in": "formData", + "name": "consigneeMobile", + "description": "收货人手机", + "type": "string" + }, + { + "in": "formData", + "name": "address", + "description": "地址(区县以下,门牌号以上的地址信息)", + "type": "string" + }, + { + "in": "formData", + "name": "detailAddress", + "description": "门牌号", + "type": "string" + }, + { + "in": "formData", + "name": "lng", + "description": "经度", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "lat", + "description": "纬度", + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "tag", + "description": "标签", + "type": "string" + }, + { + "in": "formData", + "name": "remark", + "description": "备注", + "type": "string" + }, + { + "in": "formData", + "name": "isDefault", + "description": "是否是默认(0:否,1:是)", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/UpdateUser": { + "put": { + "tags": [ + "user2" + ], + "description": "修改用户信息", + "operationId": "User2Controller.修改用户信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "payload", + "description": "user payload", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/user2/UpdateUserByMiniInfo": { + "post": { + "tags": [ + "user2" + ], + "description": "根据小程序jsCode修改用户信息", + "operationId": "User2Controller.根据小程序jsCode修改用户信息", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "data", + "description": "加密数据", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "iv", + "description": "iv", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "jsCode", + "description": "小程序jsCode", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/withdrawal/AddWithdrawalRecord": { + "post": { + "tags": [ + "withdrawal" + ], + "description": "提现申请", + "operationId": "WithdrawalRecordController.用户发起提现申请", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "withdrawalMoney", + "description": "提现金额", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "alipayAccount", + "description": "支付宝绑定账号[邮箱/电话]", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "alipayName", + "description": "真是姓名", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "lng", + "description": "经度", + "required": true, + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "lat", + "description": "纬度", + "required": true, + "type": "number", + "format": "double" + }, + { + "in": "formData", + "name": "cityCode", + "description": "城市code", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "districtCode", + "description": "省code", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/withdrawal/DeleteWithdrawalRecord": { + "post": { + "tags": [ + "withdrawal" + ], + "description": "提现申请", + "operationId": "WithdrawalRecordController.取消或者删除提现生情", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "id", + "description": "数据主键Id", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/withdrawal/ExamineWithdrawalOrder": { + "post": { + "tags": [ + "withdrawal" + ], + "description": "审核提现申请", + "operationId": "WithdrawalRecordController.审核提现申请", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "phone", + "description": "当前审核人员电话号码", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "orderId", + "description": "被审核订单Id", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "examineStatus", + "description": "1-通过", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "remark", + "description": "不通过原因", + "type": "string" + }, + { + "in": "formData", + "name": "userId", + "description": "提现人员Id", + "type": "string" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/withdrawal/GetWithdrawalList": { + "post": { + "tags": [ + "withdrawal" + ], + "description": "提现申请", + "operationId": "WithdrawalRecordController.查询申请列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageNum", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "userName", + "description": "用户昵称", + "type": "string" + }, + { + "in": "formData", + "name": "userId", + "description": "用户id", + "type": "string" + }, + { + "in": "formData", + "name": "orderId", + "description": "订单Id", + "type": "string" + }, + { + "in": "formData", + "name": "startTime", + "description": "开始时间", + "type": "string" + }, + { + "in": "formData", + "name": "endTime", + "description": "结束时间", + "type": "string" + }, + { + "in": "formData", + "name": "phone", + "description": "电话", + "type": "string" + }, + { + "in": "formData", + "name": "orderStatus", + "description": "订单状态", + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + }, + "/withdrawal/GetWithdrawalRecord": { + "post": { + "tags": [ + "withdrawal" + ], + "description": "提现申请", + "operationId": "WithdrawalRecordController.查询申请列表", + "parameters": [ + { + "in": "header", + "name": "token", + "description": "认证token", + "required": true, + "type": "string" + }, + { + "in": "formData", + "name": "status", + "description": "申请订单状态", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageSize", + "description": "页数", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "in": "formData", + "name": "pageNum", + "description": "页码", + "required": true, + "type": "integer", + "format": "int64" + } + ], + "responses": { + "200": { + "description": "{object} controllers.CallResult" + } + } + } + } + }, + "definitions": { + ".false": { + "type": "object" + }, + "controllers.CallResult": { + "title": "CallResult", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "data": { + "type": "string" + }, + "desc": { + "type": "string" + } + } + }, + "controllers.CallResult2": { + "title": "CallResult2", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "data": { + "$ref": "#/definitions/13611.0xc000aa5b90.false" + }, + "desc": { + "type": "string" + } + } + } + }, + "tags": [ + { + "name": "event", + "description": "操作事件明细相关API\n" + } + ] +} \ No newline at end of file diff --git a/swagger/swagger.yml b/swagger/swagger.yml new file mode 100644 index 000000000..fdafdb5b3 --- /dev/null +++ b/swagger/swagger.yml @@ -0,0 +1,3945 @@ +swagger: "2.0" +info: + title: web Test API + description: web has a very cool tools to autogenerate documents for your API + version: 1.0.0 + termsOfService: http://web.me/ + contact: + email: astaxie@gmail.com + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html +basePath: /v2 +paths: + /auth2/AddAuthBind: + post: + tags: + - auth2 + description: 绑定认证方式 + operationId: Auth2Controller.绑定认证方式 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: authToken + description: 之前通过login得到的新认证TOKEN + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/AddAuthBindWithMobile: + post: + tags: + - auth2 + description: 绑定认证方式 + operationId: Auth2Controller.绑定认证方式 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: authToken + description: 之前通过login得到的新认证TOKEN + required: true + type: string + - in: formData + name: mobile + description: 之前通过getuserbyminiinfo得到的 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/ChangePassword: + put: + tags: + - auth2 + description: 修改(或初始化)密码 + operationId: Auth2Controller.修改(或初始化)密码 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: oldPwd + description: 原密码md5,如果是重置或新设,为空 + type: string + - in: query + name: newPwd + description: 新密码md5 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/CreateCaptcha: + post: + tags: + - auth2 + description: 生成captcha + operationId: Auth2Controller.生成captcha + parameters: + - in: formData + name: width + description: 图片宽 + required: true + type: integer + format: int64 + - in: formData + name: height + description: 图片高 + required: true + type: integer + format: int64 + - in: formData + name: captchaLen + description: captcha码长度 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/DeletedTokenInfoWithoutParam: + put: + tags: + - auth2 + description: 清除除参数token以外的这个人的token + operationId: Auth2Controller.清除除参数token以外的这个人的token + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/DingDingOAuth2: + get: + tags: + - auth2 + description: 钉钉认证回调接口,自己不能直接调用 + operationId: Auth2Controller.钉钉认证回调接口 + parameters: + - in: query + name: code + description: 客户同意后得到的code + required: true + type: string + - in: query + name: block + description: 回调地址 + type: string + - in: query + name: state + description: 微信回调的登录状态 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/GetTokenInfo: + get: + tags: + - auth2 + description: 得到自己登录token的信息 + operationId: Auth2Controller.得到自己登录token的信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/Login: + post: + tags: + - auth2 + description: 登录接口(微信与公众号登录不能直接调用此接口) + operationId: Auth2Controller.登录接口 + parameters: + - in: formData + name: authType + description: 登录类型,当前支持[localpass:本地账号密码,mobile:手机短信,wxqrcode:微信登录,weixinsns:微信公众号,weixinmini;小程序,wxnative:微信APP,ddstaff:钉钉企业,ddqrcode:钉钉扫码,alipaycode:支付宝小程序] + required: true + type: string + - in: formData + name: authSecret + description: 不同登录类型的登录秘密,如果是localpass登录类型,是md5后的值(空串不要md5) + required: true + type: string + - in: formData + name: authID + description: 登录ID,登录类型为localpass时依赖于authIDType,其它为相应登录类型的id + type: string + - in: formData + name: authIDType + description: 只有在登录类型为localpass时,才有意义,分别为:userid2:用户名,email,mobile + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/Logout: + delete: + tags: + - auth2 + description: 登出接口(此接口兼容V1的TOKEN) + operationId: Auth2Controller.登出接口 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/RemoveAuthBind: + delete: + tags: + - auth2 + description: 删除认证方式 + operationId: Auth2Controller.删除认证方式 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: authType + description: 登录类型,参见Login的描述 + required: true + type: string + - in: query + name: authTypeID + description: 登录类型标识 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/SendVerifyCode: + post: + tags: + - auth2 + description: 发送验证码(captcha码与authToken二者必须至少有一个) + operationId: Auth2Controller.发送验证码 + parameters: + - in: formData + name: captchaID + description: captcha码ID + type: string + - in: formData + name: captchaValue + description: captcha码值 + type: string + - in: formData + name: authToken + description: 之前的认证信息 + type: string + - in: formData + name: authID + description: 手机号或邮件 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/WeixinMPOAuth2: + get: + tags: + - auth2 + description: 微信公众号认证回调接口,自己不能直接调用 + operationId: Auth2Controller.微信公众号认证回调接口 + parameters: + - in: query + name: code + description: 客户同意后得到的code + required: true + type: string + - in: query + name: block + description: 回调地址 + required: true + type: string + - in: query + name: state + description: 微信回调的登录状态 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /auth2/WeixinOAuth2: + get: + tags: + - auth2 + description: 微信扫码认证回调接口,自己不能直接调用 + operationId: Auth2Controller.微信扫码认证回调接口 + parameters: + - in: query + name: code + description: 客户同意后得到的code + required: true + type: string + - in: query + name: block + description: 回调地址 + required: true + type: string + - in: query + name: state + description: 微信回调的登录状态 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /balance/UpdateUserBalance: + post: + tags: + - balance + description: 用户余额 + operationId: UserBalanceController.修改用户账户余额 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: phone + description: 发起修改人电话 + required: true + type: string + - in: formData + name: userID + description: 被修用户Id + required: true + type: string + - in: formData + name: money + description: 修改后金额 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /bill/GetUserBillDetail: + get: + tags: + - bill + description: 查看用户账户收支明细 + operationId: BillController.查看用户账户收支明细 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: 用户ID + required: true + type: string + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: offset + description: 列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /cms/DeleteConfig: + delete: + tags: + - cms + description: 删除配置 + operationId: CmsController.删除配置 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: type + description: 配置类型(当前只支持PricePack) + required: true + type: string + - in: query + name: key + description: 配置名 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/GetPlaces: + get: + tags: + - cms + description: 得到地点(省,城市,区)信息。 + operationId: CmsController.得到地点(省,城市,区)信息 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: keyword + description: 查询关键字(可以为空,为空表示不限制) + type: string + - in: query + name: parentCode + description: 上级地点code,这个指的是国家标准CODE(中国为:100000,北京为:110000,北京市为:110100),不是数据库中的ID + type: integer + format: int64 + - in: query + name: level + description: 地点级别:省为1,市为2,区为3,注意直辖市也要分省与市级 + type: integer + format: int64 + - in: query + name: includeDisabled + description: 是否包括禁用的城市(缺省不包括) + type: boolean + responses: + "200": + description: '{object} controllers.CallResult' + /cms/GetQiniuUploadToken: + get: + tags: + - cms + description: 得到七牛上传服务临时token,当前设置为5分钟内有效。正常使用场景为每次上传资源前实时获取,而不是保存下来一直使用,如果hashCode有值,且本地有,可能直接返回URL + operationId: CmsController.得到七牛上传服务临时token + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: suffix + description: 前缀 + required: true + type: string + - in: query + name: hashCode + description: 图片hash + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/GetServiceInfo: + get: + tags: + - cms + description: 得到服务相关的一些基础信息,包括版本,及一些元数据信息 + operationId: CmsController.得到服务相关的一些基础信息 + parameters: + - in: header + name: token + description: 认证token + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/InitPlace: + post: + tags: + - cms + description: init place + operationId: CmsController.init place + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/InitStation: + post: + tags: + - cms + description: init station + operationId: CmsController.init station + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/NewConfig: + post: + tags: + - cms + description: 新增配置 + operationId: CmsController.新增配置 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: type + description: 配置类型(当前只支持PricePack) + required: true + type: string + - in: formData + name: key + description: 配置名 + required: true + type: string + - in: formData + name: value + description: 配置值 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/QueryConfigs: + get: + tags: + - cms + description: 查询配置 + operationId: CmsController.查询配置 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: type + description: 配置类型(当前只支持PricePack) + type: string + - in: query + name: key + description: 配置名 + type: string + - in: query + name: keyword + description: 关键字 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/UpdateConfig: + put: + tags: + - cms + description: 修改配置 + operationId: CmsController.修改配置 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: type + description: 配置类型(当前只支持PricePack) + required: true + type: string + - in: formData + name: key + description: 配置名 + required: true + type: string + - in: formData + name: value + description: 配置值 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /cms/UpdatePlace: + put: + tags: + - cms + description: 只支持修改enabled, jd_code和mtps_price这三个属性 + operationId: CmsController.修改地点信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: code + description: 地点编号,注意是code不是ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /event/AddMessageGroup: + post: + tags: + - event + description: 加入用户组 + operationId: EventController.加入用户组 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: groupID + description: 组号 + required: true + type: integer + format: int64 + - in: formData + name: userID + description: 被邀请人ID + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/CreateMessageGroup: + post: + tags: + - event + description: 创建聊天组 + operationId: EventController.创建聊天组 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: userID + description: 创建者id + required: true + type: string + - in: formData + name: userID2 + description: 被拉的id 如果userID2为空就默认为是创建的群聊 + type: string + - in: formData + name: name + description: 如果是群聊,则要传入群名 + type: string + - in: formData + name: dividePercentage + description: 如果是群聊,则要传入分成比例 + type: integer + format: int64 + - in: formData + name: quitPrice + description: 如果是群聊,则要传入退团金额 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /event/DeleteMessageGroup: + post: + tags: + - event + description: 退出用户组(踢人) + operationId: EventController.退出用户组(踢人) + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: groupID + description: 组号 + required: true + type: integer + format: int64 + - in: formData + name: userID + description: userID + required: true + type: string + - in: formData + name: flag + description: 是否是解散群 + type: boolean + responses: + "200": + description: '{object} controllers.CallResult' + /event/GetImMessageRecord: + get: + tags: + - event + description: 查询聊天记录 + operationId: EventController.查询聊天记录 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: groupID + description: 组ID + required: true + type: integer + format: int64 + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /event/GetMessageGroupByUser: + get: + tags: + - event + description: 查询某个用户所有聊天组 + operationId: EventController.查询某个用户所有聊天组 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: userid + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/GetMessageGroups: + get: + tags: + - event + description: 查询聊天组 + operationId: EventController.查询聊天组 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: groupID + description: groupID + required: true + type: integer + format: int64 + - in: query + name: isMember + description: 是否查询组员 + required: true + type: boolean + responses: + "200": + description: '{object} controllers.CallResult' + /event/GetUserStatistics: + get: + tags: + - event + description: 得到用户统计数据 + operationId: EventController.得到用户统计数据 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/SendSysMessage: + post: + tags: + - event + description: 发送聊天消息(限定系统消息) + operationId: EventController.发送聊天消息(限定系统消息) + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: immessageRecord 类型 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/TestWebsocket: + get: + tags: + - event + description: 测试websocket + operationId: EventController.测试websocket + responses: + "200": + description: '{object} controllers.CallResult' + /event/TransferMessageGroupMaster: + post: + tags: + - event + description: 转让群主 + operationId: EventController.转让群主 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: groupID + description: 组号 + required: true + type: integer + format: int64 + - in: formData + name: userID + description: userID + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/UpdateMessageGroup: + put: + tags: + - event + description: 修改群组信息 + operationId: EventController.修改群组信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: groupID + description: 组号 + required: true + type: integer + format: int64 + - in: formData + name: payload + description: 群组 payload + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/UpdateUserMessageGroupRead: + post: + tags: + - event + description: 用户未读消息设置,用户在退出登录,ws关闭,以及关闭小程序或app时调用 + operationId: EventController.用户未读消息设置 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: payload + description: messageGroupRead 格式[{groupID:,unReadCount:}] + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/UploadAudio: + post: + tags: + - event + description: 上传音频 + operationId: EventController.上传音频 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /event/UploadImg: + post: + tags: + - event + description: 上传图片 + operationId: EventController.上传图片 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /express/CancelWayVendorOrder: + post: + tags: + - express + description: 取消运单 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: genre + description: 1取消2关闭 + required: true + type: integer + format: int64 + - in: formData + name: orderNo + description: 订单编号 + required: true + type: string + - in: formData + name: type + description: 快递公司 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /express/CreateWayOrder: + post: + tags: + - express + description: 下单 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: promiseTimeType + description: 快递时效产品 + type: integer + format: int64 + - in: formData + name: deliveryType + description: 产品类型 + type: integer + format: int64 + - in: formData + name: goods + description: 商品名称 + required: true + type: string + - in: formData + name: guaranteeValueAmount + description: 保价金额 + type: number + format: double + - in: formData + name: weight + description: 重量kg + required: true + type: integer + format: int64 + - in: formData + name: length + description: 所有包裹累计长 + type: integer + format: int64 + - in: formData + name: width + description: 所有包裹累计宽 + type: integer + format: int64 + - in: formData + name: height + description: 所有包裹累计高 + type: integer + format: int64 + - in: formData + name: orderSendTime + description: 预约时间 + type: string + - in: formData + name: packageNum + description: 包裹数量 + required: true + type: integer + format: int64 + - in: formData + name: receiveAddress + description: 收件人地址 + required: true + type: string + - in: formData + name: receiveName + description: 收件人姓名 + required: true + type: string + - in: formData + name: receivePhone + description: 收件人手机号 + required: true + type: string + - in: formData + name: remark + description: 运单备注 + type: string + - in: formData + name: senderAddress + description: 寄件人地址 + required: true + type: string + - in: formData + name: senderName + description: 寄件人姓名 + required: true + type: string + - in: formData + name: senderPhone + description: 寄件人手机号 + required: true + type: string + - in: formData + name: thirdPlatform + description: 第三方平台 + type: integer + format: int64 + - in: formData + name: type + description: 快递公司 + required: true + type: integer + format: int64 + - in: formData + name: receiveAddressId + description: 收件人地址Id + required: true + type: integer + format: int64 + - in: formData + name: senderAddressId + description: 寄件人地址Id + required: true + type: integer + format: int64 + - in: formData + name: channelType + description: 渠道类型(1-快递,2-物流,3-国际物流,4-整车) + required: true + type: integer + format: int64 + - in: formData + name: images + description: 物品图片多个用逗号隔开 + type: string + - in: formData + name: channelFee + description: 渠道价 + required: true + type: number + format: double + - in: formData + name: bulk + description: 泡比 + type: integer + format: int64 + - in: formData + name: serviceCharge + description: 服务费 + type: number + format: double + - in: formData + name: guarantFee + description: 保价 + type: number + format: double + - in: formData + name: originalFee + description: 原价 + type: number + format: double + - in: formData + name: increment + description: 物流 + type: number + format: double + responses: + "200": + description: '{object} controllers.CallResult' + /express/DeleteOrder: + post: + tags: + - express + description: 删除未支付订单,已支付订单一个星期后才能删除 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: localOrderId + description: 本地订单 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /express/GetOrderDetail: + post: + tags: + - express + description: 获取订单详情 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: expressType + description: 就是type快递公司 + required: true + type: integer + format: int64 + - in: formData + name: orderNo + description: 订单Id,三方Id + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /express/GetOrderList: + post: + tags: + - express + description: 管理系统获取订单详情 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: expressType + description: 就是type快递公司 + type: integer + format: int64 + - in: formData + name: orderNo + description: 订单Id,三方Id + type: string + - in: formData + name: orderStatus + description: 订单状态 + type: integer + format: int64 + - in: formData + name: pageNum + description: 页码 + required: true + type: integer + format: int64 + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + - in: formData + name: startTime + description: 开始时间 + required: true + type: string + - in: formData + name: endTime + description: 结束时间 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /express/QueryExpressPrice: + post: + tags: + - express + description: 查询快递费 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: promiseTimeType + description: 快递时效产品 + type: integer + format: int64 + - in: formData + name: deliveryType + description: 产品类型 + type: integer + format: int64 + - in: formData + name: goodsValue + description: 保价金额 + type: number + format: double + - in: formData + name: receiveAddress + description: 收件人地址 + required: true + type: string + - in: formData + name: sendAddress + description: 寄件人地址 + required: true + type: string + - in: formData + name: type + description: 快递公司 + type: integer + format: int64 + - in: formData + name: weight + description: 重量kg + required: true + type: integer + format: int64 + - in: formData + name: length + description: 所有包裹累计长 + type: integer + format: int64 + - in: formData + name: width + description: 所有包裹累计宽 + type: integer + format: int64 + - in: formData + name: height + description: 所有包裹累计高 + type: integer + format: int64 + - in: formData + name: sendPhone + description: 寄件人手机号 + required: true + type: string + - in: formData + name: channelType + description: 渠道类型(1-快递,2-物流,3-国际物流,4-整车) + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /express/QueryUserOrderList: + post: + tags: + - express + description: 获取用户订单列表 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 管理员token + required: true + type: string + - in: formData + name: expressType + description: 就是type快递公司 + type: integer + format: int64 + - in: formData + name: orderStatus + description: 订单状态 + type: integer + format: int64 + - in: formData + name: orderNo + description: 订单号码 + type: string + - in: formData + name: pageNum + description: 页码 + required: true + type: integer + format: int64 + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /express/TryAgainOrderByOldOrder: + post: + tags: + - express + description: 再来一单 + operationId: QBiDaExpressController.Q必达 + parameters: + - in: header + name: token + description: 用户token + required: true + type: string + - in: formData + name: oldNo + description: 旧的订单Id + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/AcceptJob: + post: + tags: + - job + description: 接任务 + operationId: JobController.接任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobID + description: jobID + required: true + type: integer + format: int64 + - in: formData + name: dropShippingDeliveryID + description: 一件代发地址id + type: integer + format: int64 + - in: formData + name: dropShippingCount + description: 一件代发商品数量 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/AddressDistinguish: + post: + tags: + - job + description: 地址识别 + operationId: JobController.地址识别 (txcloud购买) + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: address + description: 完整地址 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/AuditJob: + post: + tags: + - job + description: 审核任务 + operationId: JobController.审核任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobOrderID + description: jobOrderID + required: true + type: integer + format: int64 + - in: formData + name: status + description: 审核标志,15 是通过,20是不通过 + required: true + type: integer + format: int64 + - in: formData + name: comment + description: 审核理由 + type: string + - in: formData + name: vendorWaybillID + description: 运单号(一件代发) + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/CancelAcceptJob: + post: + tags: + - job + description: 用户取消接受的任务 + operationId: JobController.用户取消接受的任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobID + description: jobID + required: true + type: integer + format: int64 + - in: formData + name: jobOrderID + description: jobOrderID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/CancelJdDelivery: + post: + tags: + - job + description: 取消京东快递 + operationId: JobController.取消京东快递 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: vendorWaybillID + description: 运单号 + required: true + type: string + - in: formData + name: reason + description: 取消原因 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/CancelPublishJob: + post: + tags: + - job + description: 用户取消发布的任务 + operationId: JobController.用户取消发布的任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobID + description: jobID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/CheckJdDeliveryWeight: + post: + tags: + - job + description: 京东快递物流超重验证 + operationId: JobController.京东快递物流超重验证 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/ConfirmDropShippingJob: + post: + tags: + - job + description: 确认收货(一件代发) + operationId: JobController.确认收货(一件代发) + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobOrderID + description: jobOrderID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/CreateJobSpan: + post: + tags: + - job + description: 设置任务标签 + operationId: JobController.设置任务标签 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobIDs + description: 任务IDs + required: true + type: string + - in: formData + name: endAt + description: 截止日期 + required: true + type: string + - in: formData + name: span + description: 标签,1为置顶,2为推荐 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetAllDeliveryDetail: + get: + tags: + - job + description: 查询所有快递物流信息 + operationId: JobController.查询所有快递物流信息 (txcloud购买) + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorWaybillID + description: 运单号 + type: string + - in: query + name: comType + description: 快递公司编码 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetCoordinateFromAddress: + get: + tags: + - job + description: 根据地址查坐标 + operationId: JobController.根据地址查坐标 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: address + description: 地址 + required: true + type: string + - in: formData + name: cityCode + description: cityCode + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetDeliveryDetail: + get: + tags: + - job + description: 查询京东快递物流信息 + operationId: JobController.查询京东快递物流信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorWaybillID + description: 运单号 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetEjyOrders: + get: + tags: + - job + description: 查询用户个人订单 + operationId: JobController.查询用户个人订单易加油 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetJdDelivery: + get: + tags: + - job + description: 查询用户的京东快递 + operationId: JobController.查询用户的京东快递 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: status + description: 订单状态 + type: integer + format: int64 + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetJobCategories: + get: + tags: + - job + description: 查看任务类型 + operationId: JobController.查看任务类型 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: name + description: 分类名 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetJobDetail: + get: + tags: + - job + description: 查看任务 + operationId: JobController.查看任务 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: jobID + description: 任务ID + type: integer + format: int64 + - in: query + name: lng + description: 经度 + type: number + format: double + - in: query + name: lat + description: 维度 + type: number + format: double + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetJobOrders: + get: + tags: + - job + description: 查看接受的任务列表 + operationId: JobController.查看接受的任务列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: 用户ID + type: string + - in: query + name: jobUserID + description: 发起任务的用户ID + type: string + - in: query + name: jobOrderID + description: 任务订单ID + type: integer + format: int64 + - in: query + name: categoryID + description: 分类ID + type: string + - in: query + name: statuss + description: 状态s + type: string + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetJobs: + get: + tags: + - job + description: 查看任务列表 + operationId: JobController.查看任务列表 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: userIDs + description: 用户IDs + type: string + - in: query + name: categoryIDs + description: 分类IDs + type: string + - in: query + name: statuss + description: 状态s + type: string + - in: query + name: vendorIDs + description: 平台IDs + type: string + - in: query + name: cityCodes + description: CityIDs + type: string + - in: query + name: includeStep + description: 是否查询步骤,默认否 + type: boolean + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: lng + description: 经度 + type: number + format: double + - in: query + name: lat + description: 维度 + type: number + format: double + - in: query + name: span + description: 标签,1为置顶,2为推荐 + type: integer + format: int64 + - in: query + name: keyword + description: 关键字 + type: string + - in: query + name: sortType + description: 排序类型, 1距离,2新店优先,3今日热门,4奖励高低 + type: integer + format: int64 + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetMtMembers: + get: + tags: + - job + description: 查看美团会员 + operationId: JobController.查看美团会员 + parameters: + - in: header + name: token + description: 认证token + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/GetStationList: + get: + tags: + - job + description: 获取油站列表 + operationId: JobController.获取油站列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: stationName + description: 油站名 + type: string + - in: query + name: cityCode + description: 城市ID + type: integer + format: int64 + - in: query + name: lat + description: 用户坐标 + type: number + format: double + - in: query + name: lng + description: 用户坐标 + type: number + format: double + - in: query + name: oilCode + description: 油号 + type: string + - in: query + name: sortType + description: 排序, 1为距离,2为评分,3为油价 + type: integer + format: int64 + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/ImprotMtMembers: + post: + tags: + - job + description: 导入美团会员 + operationId: JobController.导入美团会员 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: formData + name: payload + description: mtmembers struct + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/PublishJob: + post: + tags: + - job + description: 发布任务 + operationId: JobController.发布任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: job+step+img 类型 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/RechargeMtMembers: + post: + tags: + - job + description: 充值美团会员 + operationId: JobController.充值美团会员 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: phone + description: 电话 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/RefreshJdDelivery: + post: + tags: + - job + description: 手动刷新京东快递任务 + operationId: JobController.手动刷新京东快递任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/RefreshJobStatus: + post: + tags: + - job + description: 刷新任务状态 + operationId: JobController.刷新任务状态 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/ReloadJobSpan: + post: + tags: + - job + description: 置顶任务重排序 + operationId: JobController.置顶任务重排序 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobIDs + description: 任务IDs(按顺序) + required: true + type: string + - in: formData + name: span + description: 标签,1为置顶,2为推荐 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /job/SendJdDelivery: + post: + tags: + - job + description: 发送京东快递 + operationId: JobController.发送京东快递 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: delivery order 类型 + required: true + type: string + - in: formData + name: pickUpStartTime + description: 预约取件开始时间 + type: string + - in: formData + name: pickUpEndTime + description: 预约取件结束时间 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/SubmitJob: + post: + tags: + - job + description: 提交任务 + operationId: JobController.提交任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: joborder type + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/TempJob: + post: + tags: + - job + description: 测试接口 + operationId: JobController.测试接口 + parameters: + - in: header + name: token + description: 认证token + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/TempJobTest: + post: + tags: + - job + description: 测试接口2 + operationId: JobController.测试接口2 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: formData + name: data + description: data + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/UpdateJob: + post: + tags: + - job + description: 修改任务 + operationId: JobController.修改任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: job+step+img 类型 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /job/UserRefundEjy: + get: + tags: + - job + description: 用户申请退款,易加油 + operationId: JobController.用户申请退款,易加油 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorOrderID + description: 易加油订单号 + required: true + type: string + - in: query + name: reason + description: 退款原因 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /openapi/CallOpenAPI: + post: + tags: + - openapi + description: api调用入口 + operationId: ApiController.api调用入口 + parameters: + - in: formData + name: app_id + description: 应用ID + type: string + - in: formData + name: timestamp + description: unix时间戳 + type: integer + format: int64 + - in: formData + name: sign + description: 签名 + type: string + - in: formData + name: method + description: 接口名 + type: string + responses: + "200": + description: '{object} controllers.CallResult2' + /order/Cash: + post: + tags: + - order + description: 提现 + operationId: OrderController.提现 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderID + description: 订单号 + required: true + type: string + - in: formData + name: payType + description: 支付平台类型 + required: true + type: integer + format: int64 + - in: formData + name: vendorPayType + description: 平台支付类型 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /order/CreateOrder: + post: + tags: + - order + description: 创建订单 + operationId: OrderController.创建订单 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: type + description: 支付类型/账单类型 + required: true + type: integer + format: int64 + - in: formData + name: orderType + description: 订单类型,1为发任务,2为冲会员,3为发快递,6-需要充值到余额购买的方式,7-话费充值 + required: true + type: integer + format: int64 + - in: formData + name: way + description: 认证方式 + required: true + type: string + - in: formData + name: price + description: 支付金额 + required: true + type: integer + format: int64 + - in: formData + name: lng + description: 经纬度 + required: true + type: number + format: double + - in: formData + name: lat + description: 经纬度 + required: true + type: number + format: double + - in: formData + name: mobile + description: 充值电话 + type: string + - in: formData + name: flowCode + description: 业务代码 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /order/FinishedCashOrders: + post: + tags: + - order + description: 完成提现订单 + operationId: OrderController.完成提现订单 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderIDs + description: 订单号列表 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /order/GetManageStatisticsImg: + get: + tags: + - order + description: 经营分析图表 + operationId: OrderController.经营分析图表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: cityCodes + description: 城市id列表 + type: string + - in: query + name: fromTime + description: 开始时间 + required: true + type: string + - in: query + name: toTime + description: 结束时间 + required: true + type: string + - in: query + name: jobIDs + description: 任务IDs + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /order/GetManageStatisticsJob: + get: + tags: + - order + description: 经营分析任务列表 + operationId: OrderController.经营分析任务列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: cityCodes + description: 城市id列表 + type: string + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: jobIDs + description: 任务IDs + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /order/GetMyUnionOrders: + get: + tags: + - order + description: 查询我的推广订单 + operationId: OrderController.查询我的推广订单 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: statuss + description: 状态s + type: string + - in: query + name: vendorID + description: -1 全部 + type: integer + format: int64 + - in: query + name: offset + description: 列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /order/GetOrders: + get: + tags: + - order + description: 查询订单提现申请 + operationId: OrderController.查询订单提现申请 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: orderID + description: 订单号 + type: string + - in: query + name: userID + description: 用户ID + type: string + - in: query + name: orderType + description: 订单类型,1为支付,2为提现 + type: integer + format: int64 + - in: query + name: cityCodes + description: 城市code列表 + type: string + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: keyword + description: 关键字 + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /order/GetPayStatistics: + get: + tags: + - order + description: 支付统计 + operationId: OrderController.支付统计 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: 用户id + type: string + - in: query + name: pop + description: 1为你邀请的,0为全部 + type: integer + format: int64 + - in: query + name: cityCodes + description: 城市id列表 + type: string + - in: query + name: mobile + description: 用户手机,必须全匹配 + type: string + - in: query + name: fromTime + description: 消费开始时间 + type: string + - in: query + name: toTime + description: 消费结束时间 + type: string + - in: query + name: orderTypes + description: 1为发任务,2为冲会员,3为发快递,4为一件代发支付 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /order/Pay: + post: + tags: + - order + description: 支付 + operationId: OrderController.支付 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderID + description: 订单号 + required: true + type: string + - in: formData + name: payType + description: 支付平台类型 + required: true + type: integer + format: int64 + - in: formData + name: vendorPayType + description: 平台支付类型 + required: true + type: string + - in: formData + name: orderType + description: 订单类型member(会员),express快递,recharge充值,telephoneBill充话费 + required: true + type: string + - in: formData + name: appId + description: appId + required: true + type: string + - in: formData + name: isChoose + description: -1:未选中余额抵消 1:余额抵消 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /order/PayByBalance: + post: + tags: + - order + description: 支付 + operationId: OrderController.余额支付 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderID + description: 订单号 + required: true + type: string + - in: formData + name: payType + description: 支付平台类型 + required: true + type: integer + format: int64 + - in: formData + name: vendorPayType + description: 平台支付类型 + required: true + type: string + - in: formData + name: orderType + description: 订单类型member(会员),express快递,recharge充值 + required: true + type: string + - in: formData + name: appId + description: appId + required: true + type: string + - in: formData + name: isChoose + description: -1:未选中余额抵消 1:余额抵消 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /order/SettleUnionOrders: + post: + tags: + - order + description: 联盟订单结算 + operationId: OrderController.联盟订单结算 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorIDs + description: 平台IDs + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /recharge/GetRechargeOrderDetail: + get: + tags: + - recharge + description: 订单详情查询 + operationId: RechargeManagerController.订单详情查询 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderId + description: 订单号 + required: true + type: string + - in: formData + name: mobile + description: 手机号 + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /recharge/GetUserRecharge: + post: + tags: + - recharge + description: 分页查询用户充值列表 + operationId: RechargeManagerController.分页查询用户充值列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: page + description: 页码 + required: true + type: integer + format: int64 + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + - in: formData + name: mobile + description: 电话 + type: string + - in: formData + name: orderId + description: 订单号 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /recharge/QueryAccountBill: + get: + tags: + - recharge + description: 查询当前账号余额 + operationId: RechargeManagerController.查询当前账号余额 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /recharge/SystemQueryRechargeList: + post: + tags: + - recharge + description: 管理系统获取订单详情 + operationId: RechargeManagerController.管理系统获取订单详情 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: orderId + description: 订单号 + type: string + - in: formData + name: mobile + description: 手机号 + type: string + - in: formData + name: rechargeStatus + description: 充值状态 0-未提交,3-等待待充值(本地) 1:充值中(三方),2:已充值,-1:失败(三方) + type: integer + format: int64 + - in: formData + name: page + description: 页码 + required: true + type: integer + format: int64 + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + - in: formData + name: startTime + description: 开始时间 + required: true + type: string + - in: formData + name: endTime + description: 结束时间 + required: true + type: string + - in: formData + name: userName + description: 用户名 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /task/CancelTask: + put: + tags: + - task + description: 取消长时间运行任务 + operationId: TaskController.取消长时间运行任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: taskID + description: 任务ID + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /task/GetTasks: + get: + tags: + - task + description: 查询长时间运行任务 + operationId: TaskController.查询长时间运行任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: taskID + description: 任务ID + type: string + - in: query + name: fromStatus + description: 起始状态 + type: integer + format: int64 + - in: query + name: toStatus + description: 结束状态 + type: integer + format: int64 + - in: query + name: lastHours + description: 多少小时以内的 + type: integer + format: int64 + - in: query + name: createdBy + description: 创建人 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /task/UnmanageTasks: + put: + tags: + - task + description: 取消管理任务 + operationId: TaskController.取消管理任务 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: taskIDs + description: 任务ID列表 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetPddBindInfo: + get: + tags: + - union + description: 查询拼多多分享前,推广位有没有绑定授权 + operationId: UnionController.查询拼多多分享前,推广位有没有绑定授权 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetUnionActList: + get: + tags: + - union + description: 查询联盟活动 + operationId: UnionController.查询联盟活动 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorID + description: 平台ID + required: true + type: integer + format: int64 + - in: query + name: actType + description: 活动类型ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetUnionJobOrderInfo: + get: + tags: + - union + description: 查看接取的联盟任务执行情况 + operationId: UnionController.查看接取的联盟任务执行情况 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: jobOrderID + description: 接取任务ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetUnionOrders: + get: + tags: + - union + description: 查询联盟订单 + operationId: UnionController.查询联盟订单 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: vendorIDs + description: 平台IDs + type: string + - in: query + name: statuss + description: 订单状态s + type: string + - in: query + name: beginTime + description: 开始时间 + type: string + - in: query + name: endTime + description: 结束时间 + type: string + - in: query + name: keyword + description: 关键字 + type: string + - in: query + name: offset + description: 页码 + type: integer + format: int64 + - in: query + name: pageSize + description: 页大小 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetVendorMatterCategory: + get: + tags: + - union + description: 查询平台物料分类 + operationId: UnionController.查询平台物料分类 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: vendorID + description: 平台ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetVendorMatterDetail: + get: + tags: + - union + description: 查询平台物料详情 + operationId: UnionController.查询平台物料详情 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: vendorID + description: 平台ID + required: true + type: integer + format: int64 + - in: query + name: goodsID + description: 平台商品ID + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetVendorMatterRcmmd: + get: + tags: + - union + description: 查询平台物料推荐 + operationId: UnionController.查询平台物料推荐 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: vendorID + description: 平台ID + required: true + type: integer + format: int64 + - in: query + name: goodsID + description: 平台商品ID + required: true + type: string + - in: query + name: rcmmdType + description: 推荐类型,1为今日销量榜,3为相似商品,5为实时热销榜 + required: true + type: integer + format: int64 + - in: query + name: offset + description: 页码 + type: integer + format: int64 + - in: query + name: pageSize + description: 页大小 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/GetVendorMatters: + get: + tags: + - union + description: 查询平台物料 + operationId: UnionController.查询平台物料 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: query + name: vendorID + description: 平台ID + required: true + type: integer + format: int64 + - in: query + name: vendorCatID + description: 平台分类ID + type: string + - in: query + name: keyword + description: 关键字 + type: string + - in: query + name: offset + description: 页码 + type: integer + format: int64 + - in: query + name: pageSize + description: 页大小 + type: integer + format: int64 + - in: query + name: listID + description: 分页用 + type: string + - in: query + name: sortType + description: 排序类型 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /union/ShareUnionLink: + post: + tags: + - union + description: 分享联盟链接 + operationId: UnionController.分享联盟链接 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: jobID + description: 任务ID + required: true + type: integer + format: int64 + - in: formData + name: shareType + description: 分享类型,1为当前用户分享给别人,2为当前用户自己领取 + required: true + type: integer + format: int64 + - in: formData + name: resourceType + description: 资源类型 + type: integer + format: int64 + - in: formData + name: linkType + description: 链接类型,1 h5链接 2 deeplink(唤起)链接 3 中间页唤起链接 4 微信小程序唤起路径, 5为小程序二维码 + required: true + type: integer + format: int64 + - in: formData + name: goodsID + description: 分享商品时的商品ID + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/AcceptAddGroup: + post: + tags: + - user2 + description: 被邀请用户达到4人时同意或拒绝入群 + operationId: User2Controller.被邀请用户达到4人时同意或拒绝入群 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: flag + description: 1为同意,0为拒绝 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/AddMyDeliveryAddress: + post: + tags: + - user2 + description: 用户自己增加配送地址 + operationId: User2Controller.用户自己增加配送地址 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: consigneeName + description: 收货人 + required: true + type: string + - in: formData + name: consigneeMobile + description: 收货人手机 + required: true + type: string + - in: formData + name: address + description: 地址(区县以下,门牌号以上的地址信息) + type: string + - in: formData + name: detailAddress + description: 门牌号 + type: string + - in: formData + name: lng + description: 经度 + type: number + format: double + - in: formData + name: lat + description: 纬度 + type: number + format: double + - in: formData + name: tag + description: 标签 + type: string + - in: formData + name: remark + description: 备注 + type: string + - in: formData + name: isDefault + description: 是否是默认 + type: integer + format: int64 + - in: formData + name: type + description: 1为寄件人,2为取件人(收货人) + type: integer + format: int64 + - in: formData + name: autoAddress + description: 详细地址 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/AddUserCityManager: + post: + tags: + - user2 + description: 增加用户管理城市 + operationId: User2Controller.增加用户管理城市 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: userID + description: userID + required: true + type: string + - in: formData + name: cityCode + description: cityCode + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/DeleteMyDeliveryAddress: + delete: + tags: + - user2 + description: 用户自己删除送地址 + operationId: User2Controller.用户自己删除配送地址 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: id + description: 地址ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/DeleteUserCityManager: + post: + tags: + - user2 + description: 删除用户管理城市 + operationId: User2Controller.删除用户管理城市 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: userID + description: userID + required: true + type: string + - in: formData + name: cityCode + description: cityCode + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetBindAuthInfo: + get: + tags: + - user2 + description: 得到用户已经成功绑定的认证信息 + operationId: User2Controller.得到用户已经成功绑定的认证信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetSelfInfo: + get: + tags: + - user2 + description: 得到用户自己的信息 + operationId: User2Controller.得到用户自己的信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetUser: + get: + tags: + - user2 + description: 得到用户 + operationId: User2Controller.得到用户 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: 用户id + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetUserByMiniInfo: + post: + tags: + - user2 + description: 根据小程序jsCode查询用户信息 + operationId: User2Controller.根据小程序jsCode查询用户信息 + parameters: + - in: header + name: token + description: 认证token + type: string + - in: formData + name: data + description: 加密数据 + required: true + type: string + - in: formData + name: iv + description: iv + required: true + type: string + - in: formData + name: jsCode + description: 小程序jsCode + type: string + - in: formData + name: authType + description: authType + type: string + - in: formData + name: appID + description: appID + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetUserCityManager: + get: + tags: + - user2 + description: 获取用户管理城市 + operationId: User2Controller.获取用户管理城市 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: userID + description: userID + type: string + - in: query + name: cityCode + description: cityCode + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetUserSerachKeyword: + get: + tags: + - user2 + description: 得到搜索关键词 + operationId: User2Controller.得到搜索关键词 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/GetUsers: + get: + tags: + - user2 + description: 得到用户列表 + operationId: User2Controller.得到用户列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: keyword + description: 关键字,可以部分匹配 + type: string + - in: query + name: userID + description: 用户id + type: string + - in: query + name: pop + description: 1为你邀请的,0为全部 + type: integer + format: int64 + - in: query + name: cityCodes + description: 城市id列表 + type: string + - in: query + name: mobile + description: 用户手机,必须全匹配 + type: string + - in: query + name: fromTime + description: 开始时间 + type: string + - in: query + name: toTime + description: 结束时间 + type: string + - in: query + name: timeType + description: 1为注册时间,2为消费时间 + type: integer + format: int64 + - in: query + name: consumeTypes + description: 1为发任务,2为冲会员,3为发快递 + type: string + - in: query + name: offset + description: 门店列表起始序号(以0开始,缺省为0) + type: integer + format: int64 + - in: query + name: pageSize + description: 门店列表页大小(缺省为50,-1表示全部) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/InvestMember: + post: + tags: + - user2 + description: 会员充值 + operationId: User2Controller.会员充值 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: memberID + description: 会员ID + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/LoadMyCart: + get: + tags: + - user2 + description: 得到用户指定门店的购物车信息 + operationId: User2Controller.得到用户指定门店的购物车信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: storeIDs + description: 门店ID + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/QueryMyDeliveryAddress: + get: + tags: + - user2 + description: 用户查询自己的配送地址 + operationId: User2Controller.用户查询自己的配送地址 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: query + name: type + description: 地址类型,1是寄件人,2是收货人 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/RegisterUser: + post: + tags: + - user2 + description: 用户注册 + operationId: User2Controller.用户注册 + parameters: + - in: header + name: token + description: 管理员token + type: string + - in: formData + name: payload + description: json数据,User对象(手机号必填) + required: true + type: string + - in: formData + name: mobileVerifyCode + description: 手机验证码(通过auth2.SendVerifyCode获得)(mobileVerifyCode与authToken不能同时为空) + type: string + - in: formData + name: authToken + description: 之前通过login得到的认证TOKEN(mobileVerifyCode与authToken不能同时为空) + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/SaveMyCart: + post: + tags: + - user2 + description: 存储用户指定门店的购物车信息 + operationId: User2Controller.存储用户指定门店的购物车信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: storeID + description: 门店ID + required: true + type: integer + format: int64 + - in: formData + name: payload + description: 完整的购物车商品列表 + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/UpdateMyDeliveryAddress: + put: + tags: + - user2 + description: 用户自己修改配送地址 + operationId: User2Controller.用户自己修改配送地址 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: id + description: 地址ID + required: true + type: integer + format: int64 + - in: formData + name: consigneeName + description: 收货人 + type: string + - in: formData + name: consigneeMobile + description: 收货人手机 + type: string + - in: formData + name: address + description: 地址(区县以下,门牌号以上的地址信息) + type: string + - in: formData + name: detailAddress + description: 门牌号 + type: string + - in: formData + name: lng + description: 经度 + type: number + format: double + - in: formData + name: lat + description: 纬度 + type: number + format: double + - in: formData + name: tag + description: 标签 + type: string + - in: formData + name: remark + description: 备注 + type: string + - in: formData + name: isDefault + description: 是否是默认(0:否,1:是) + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /user2/UpdateUser: + put: + tags: + - user2 + description: 修改用户信息 + operationId: User2Controller.修改用户信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: payload + description: user payload + required: true + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /user2/UpdateUserByMiniInfo: + post: + tags: + - user2 + description: 根据小程序jsCode修改用户信息 + operationId: User2Controller.根据小程序jsCode修改用户信息 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: data + description: 加密数据 + required: true + type: string + - in: formData + name: iv + description: iv + required: true + type: string + - in: formData + name: jsCode + description: 小程序jsCode + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /withdrawal/AddWithdrawalRecord: + post: + tags: + - withdrawal + description: 提现申请 + operationId: WithdrawalRecordController.用户发起提现申请 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: withdrawalMoney + description: 提现金额 + required: true + type: integer + format: int64 + - in: formData + name: alipayAccount + description: 支付宝绑定账号[邮箱/电话] + required: true + type: string + - in: formData + name: alipayName + description: 真是姓名 + required: true + type: string + - in: formData + name: lng + description: 经度 + required: true + type: number + format: double + - in: formData + name: lat + description: 纬度 + required: true + type: number + format: double + - in: formData + name: cityCode + description: 城市code + required: true + type: integer + format: int64 + - in: formData + name: districtCode + description: 省code + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /withdrawal/DeleteWithdrawalRecord: + post: + tags: + - withdrawal + description: 提现申请 + operationId: WithdrawalRecordController.取消或者删除提现生情 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: id + description: 数据主键Id + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /withdrawal/ExamineWithdrawalOrder: + post: + tags: + - withdrawal + description: 审核提现申请 + operationId: WithdrawalRecordController.审核提现申请 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: phone + description: 当前审核人员电话号码 + required: true + type: string + - in: formData + name: orderId + description: 被审核订单Id + required: true + type: string + - in: formData + name: examineStatus + description: 1-通过 + required: true + type: integer + format: int64 + - in: formData + name: remark + description: 不通过原因 + type: string + - in: formData + name: userId + description: 提现人员Id + type: string + responses: + "200": + description: '{object} controllers.CallResult' + /withdrawal/GetWithdrawalList: + post: + tags: + - withdrawal + description: 提现申请 + operationId: WithdrawalRecordController.查询申请列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + - in: formData + name: pageNum + description: 页码 + required: true + type: integer + format: int64 + - in: formData + name: userName + description: 用户昵称 + type: string + - in: formData + name: userId + description: 用户id + type: string + - in: formData + name: orderId + description: 订单Id + type: string + - in: formData + name: startTime + description: 开始时间 + type: string + - in: formData + name: endTime + description: 结束时间 + type: string + - in: formData + name: phone + description: 电话 + type: string + - in: formData + name: orderStatus + description: 订单状态 + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' + /withdrawal/GetWithdrawalRecord: + post: + tags: + - withdrawal + description: 提现申请 + operationId: WithdrawalRecordController.查询申请列表 + parameters: + - in: header + name: token + description: 认证token + required: true + type: string + - in: formData + name: status + description: 申请订单状态 + required: true + type: integer + format: int64 + - in: formData + name: pageSize + description: 页数 + required: true + type: integer + format: int64 + - in: formData + name: pageNum + description: 页码 + required: true + type: integer + format: int64 + responses: + "200": + description: '{object} controllers.CallResult' +definitions: + .false: + type: object + controllers.CallResult: + title: CallResult + type: object + properties: + code: + type: string + data: + type: string + desc: + type: string + controllers.CallResult2: + title: CallResult2 + type: object + properties: + code: + type: string + data: + $ref: '#/definitions/13611.0xc000aa5b90.false' + desc: + type: string +tags: +- name: event + description: | + 操作事件明细相关API