diff --git a/business/model/api.go b/business/model/api.go index c80f0baca..cc9a8fee7 100644 --- a/business/model/api.go +++ b/business/model/api.go @@ -1,11 +1,5 @@ package model -type CallResult struct { - Code string `json:"code"` - Desc string `json:"desc"` - Data string `json:"data"` -} - type GoodsOrderExt struct { GoodsOrder WaybillStatus int `json:"waybillStatus"` diff --git a/controllers/controllers.go b/controllers/controllers.go new file mode 100644 index 000000000..76e772a79 --- /dev/null +++ b/controllers/controllers.go @@ -0,0 +1,7 @@ +package controllers + +type CallResult struct { + Code string `json:"code"` + Desc string `json:"desc"` + Data string `json:"data"` +} diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 5e8051fbd..db18e447b 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1,11 +1,8 @@ package controllers import ( - "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch" - "git.rosy.net.cn/jx-callback/business/jxutils" - "git.rosy.net.cn/jx-callback/business/model" "github.com/astaxie/beego" ) @@ -31,54 +28,18 @@ func (c *OrderController) URLMapping() { c.Mapping("SelfDelivered", c.SelfDelivered) } -func (c *OrderController) orderOperate(handler func(vendorOrderID string, vendorID int, userName string) (interface{}, error)) { - var ( - vendorOrderID, token string - vendorID int - err error - ) - token = c.Ctx.Input.Header("token") - vendorOrderID = c.GetString("vendorOrderID") - vendorID, err1 := c.GetInt("vendorID", 0) - if vendorOrderID != "" && token != "" && err1 == nil { - result, err2 := handler(vendorOrderID, vendorID, GetUserNameFromToken(token)) - if err = err2; err == nil { - retObj := &model.CallResult{ - Code: "0", - } - if result != nil { - retObj.Data = string(utils.MustMarshal(result)) - } - c.Data["json"] = retObj - } - } - errMsg := jxutils.Errs2Str("", err1, err) - if vendorOrderID == "" { - errMsg += "vendorOrderID is empty\n" - } - if token == "" { - errMsg += "token is empty\n" - } - if errMsg != "" { - c.Data["json"] = &model.CallResult{ - Code: "-1", - Desc: errMsg, - } - } - c.ServeJSON() -} - // @Title 完成拣货 // @Description 完成拣货 // @Param token header string true "认证toke" // @Param vendorOrderID formData string true "订单ID" // @Param vendorID formData int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /FinishedPickup [post] func (c *OrderController) FinishedPickup() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - return nil, defsch.FixedScheduler.PickupGoodsAndUpdateStatus(vendorOrderID, vendorID, userName) + c.callFinishedPickup(func(params *tOrderFinishedPickupParams) (retVal interface{}, errCode string, err error) { + err = defsch.FixedScheduler.PickupGoodsAndUpdateStatus(params.VendorOrderID, params.VendorID, GetUserNameFromToken(params.Token)) + return nil, "", err }) } @@ -87,12 +48,13 @@ func (c *OrderController) FinishedPickup() { // @Param token header string true "认证toke" // @Param vendorOrderID formData string true "订单ID" // @Param vendorID formData int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /SelfDelivering [post] func (c *OrderController) SelfDelivering() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - return nil, defsch.FixedScheduler.SelfDeliveringAndUpdateStatusExt(vendorOrderID, vendorID, userName) + c.callSelfDelivering(func(params *tOrderSelfDeliveringParams) (retVal interface{}, errCode string, err error) { + err = defsch.FixedScheduler.SelfDeliveringAndUpdateStatusExt(params.VendorOrderID, params.VendorID, GetUserNameFromToken(params.Token)) + return nil, "", err }) } @@ -101,12 +63,13 @@ func (c *OrderController) SelfDelivering() { // @Param token header string true "认证toke" // @Param vendorOrderID formData string true "订单ID" // @Param vendorID formData int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /SelfDelivered [post] func (c *OrderController) SelfDelivered() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - return nil, defsch.FixedScheduler.SelfDeliveredAndUpdateStatus(vendorOrderID, vendorID, userName) + c.callSelfDelivered(func(params *tOrderSelfDeliveredParams) (retVal interface{}, errCode string, err error) { + err = defsch.FixedScheduler.SelfDeliveredAndUpdateStatus(params.VendorOrderID, params.VendorID, GetUserNameFromToken(params.Token)) + return nil, "", err }) } @@ -115,12 +78,13 @@ func (c *OrderController) SelfDelivered() { // @Param token header string true "认证toke" // @Param vendorOrderID formData string true "订单ID" // @Param vendorID formData int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /CreateWaybillOnProviders [post] func (c *OrderController) CreateWaybillOnProviders() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - return defsch.FixedScheduler.CreateWaybillOnProviders(vendorOrderID, vendorID, userName) + c.callCreateWaybillOnProviders(func(params *tOrderCreateWaybillOnProvidersParams) (retVal interface{}, errCode string, err error) { + retVal, err = defsch.FixedScheduler.CreateWaybillOnProviders(params.VendorOrderID, params.VendorID, GetUserNameFromToken(params.Token)) + return retVal, "", err }) } @@ -129,41 +93,14 @@ func (c *OrderController) CreateWaybillOnProviders() { // @Param token header string true "认证toke" // @Param storeID query string true "京西门店ID" // @Param lastHours query int false "最近多少小时的信息(缺省为两天)" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /GetStoreOrderCountInfo [get] func (c *OrderController) GetStoreOrderCountInfo() { - var ( - storeID, token string - lastHours int - err error - ) - token = c.Ctx.Input.Header("token") - storeID = c.GetString("storeID") - lastHours, err1 := c.GetInt("lastHours", 0) - if token != "" && storeID != "" && err1 == nil { - result, err2 := orderman.FixedOrderManager.GetStoreOrderCountInfo(storeID, lastHours) - if err = err2; err == nil { - c.Data["json"] = &model.CallResult{ - Code: "0", - Data: string(utils.MustMarshal(result)), - } - } - } - errMsg := jxutils.Errs2Str("", err1, err) - if token == "" { - errMsg += "token is empty\n" - } - if storeID == "" { - errMsg += "storeID is empty\n" - } - if errMsg != "" { - c.Data["json"] = &model.CallResult{ - Code: "-1", - Desc: errMsg, - } - } - c.ServeJSON() + c.callGetStoreOrderCountInfo(func(params *tOrderGetStoreOrderCountInfoParams) (retVal interface{}, errCode string, err error) { + retVal, err = orderman.FixedOrderManager.GetStoreOrderCountInfo(params.StoreID, params.LastHours) + return retVal, "", err + }) } // @Title 得到门店订单状态信息 @@ -175,46 +112,14 @@ func (c *OrderController) GetStoreOrderCountInfo() { // @Param toStatus query int false "结束状态(包括)" // @Param offset query int false "订单列表起始序号(以0开始,缺省为0)" // @Param pageSize query int false "订单列表页大小(缺省为50)" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /GetStoreOrderInfo [get] func (c *OrderController) GetStoreOrderInfo() { - var ( - storeID, token string - lastHours, fromStatus, toStatus, offset, pageSize int - err error - ) - token = c.Ctx.Input.Header("token") - storeID = c.GetString("storeID") - lastHours, err1 := c.GetInt("lastHours", 0) - fromStatus, err2 := c.GetInt("fromStatus", 0) - toStatus, err3 := c.GetInt("toStatus", 0) - offset, err4 := c.GetInt("offset", 0) - pageSize, err5 := c.GetInt("pageSize", 0) - - if token != "" && storeID != "" && err1 == nil && err2 == nil && err3 == nil && err4 == nil && err5 == nil { - result, err2 := orderman.FixedOrderManager.GetStoreOrderInfo(storeID, lastHours, fromStatus, toStatus, offset, pageSize) - if err = err2; err == nil { - c.Data["json"] = &model.CallResult{ - Code: "0", - Data: string(utils.MustMarshal(result)), - } - } - } - errMsg := jxutils.Errs2Str("", err1, err2, err3, err) - if token == "" { - errMsg += "token is empty\n" - } - if storeID == "" { - errMsg += "storeID is empty\n" - } - if errMsg != "" { - c.Data["json"] = &model.CallResult{ - Code: "-1", - Desc: errMsg, - } - } - c.ServeJSON() + c.callGetStoreOrderInfo(func(params *tOrderGetStoreOrderInfoParams) (retVal interface{}, errCode string, err error) { + retVal, err = orderman.FixedOrderManager.GetStoreOrderInfo(params.StoreID, params.LastHours, params.FromStatus, params.ToStatus, params.Offset, params.PageSize) + return retVal, "", err + }) } // @Title 得到订单SKU信息 @@ -222,13 +127,13 @@ func (c *OrderController) GetStoreOrderInfo() { // @Param token header string true "认证toke" // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult -// @router /GetOrderSkuInfo [get +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetOrderSkuInfo [get] func (c *OrderController) GetOrderSkuInfo() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - // globals.SugarLogger.Debugf("userName:%s", userName) - return orderman.FixedOrderManager.GetOrderSkuInfo(vendorOrderID, vendorID) + c.callGetOrderSkuInfo(func(params *tOrderGetOrderSkuInfoParams) (retVal interface{}, errCode string, err error) { + retVal, err = orderman.FixedOrderManager.GetOrderSkuInfo(params.VendorOrderID, params.VendorID) + return retVal, "", err }) } @@ -238,14 +143,13 @@ func (c *OrderController) GetOrderSkuInfo() { // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" // @Param refresh query bool false "是否从购物平台刷新数据" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /GetOrderInfo [get] func (c *OrderController) GetOrderInfo() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - isRefresh, _ := c.GetBool("refresh", false) - // globals.SugarLogger.Debugf("userName:%s", userName) - return orderman.FixedOrderManager.GetOrderInfo(vendorOrderID, vendorID, isRefresh) + c.callGetOrderInfo(func(params *tOrderGetOrderInfoParams) (retVal interface{}, errCode string, err error) { + retVal, err = orderman.FixedOrderManager.GetOrderInfo(params.VendorOrderID, params.VendorID, params.Refresh) + return retVal, "", err }) } @@ -254,12 +158,12 @@ func (c *OrderController) GetOrderInfo() { // @Param token header string true "认证toke" // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" -// @Success 200 {object} business.model.CallResult -// @Failure 200 {object} business.model.CallResult +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult // @router /GetOrderWaybillInfo [get] func (c *OrderController) GetOrderWaybillInfo() { - c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { - // globals.SugarLogger.Debugf("userName:%s", userName) - return orderman.FixedOrderManager.GetOrderWaybillInfo(vendorOrderID, vendorID) + c.callGetOrderWaybillInfo(func(params *tOrderGetOrderWaybillInfoParams) (retVal interface{}, errCode string, err error) { + retVal, err = orderman.FixedOrderManager.GetOrderWaybillInfo(params.VendorOrderID, params.VendorID) + return retVal, "", err }) } diff --git a/controllers/param_parser.go b/controllers/param_parser.go new file mode 100644 index 000000000..4109f3807 --- /dev/null +++ b/controllers/param_parser.go @@ -0,0 +1,513 @@ + +// 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" + "errors" + "fmt" + "strings" +) + +const ( + StrRequiredParamIsEmpty = "参数[%s]为空或数值不合法!" +) + +type tOrderSelfDeliveredParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) SelfDelivered() { +// c.callSelfDelivered(func(params *tOrderSelfDeliveredParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callSelfDelivered(handler func(params *tOrderSelfDeliveredParams) (interface{}, string, error)) { + var err error + params := &tOrderSelfDeliveredParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderGetOrderSkuInfoParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) GetOrderSkuInfo() { +// c.callGetOrderSkuInfo(func(params *tOrderGetOrderSkuInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetOrderSkuInfo(handler func(params *tOrderGetOrderSkuInfoParams) (interface{}, string, error)) { + var err error + params := &tOrderGetOrderSkuInfoParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderGetStoreOrderInfoParams struct { + Token string + StoreID string + LastHours int + FromStatus int + ToStatus int + Offset int + PageSize int +} + +// func (c *OrderController) GetStoreOrderInfo() { +// c.callGetStoreOrderInfo(func(params *tOrderGetStoreOrderInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetStoreOrderInfo(handler func(params *tOrderGetStoreOrderInfoParams) (interface{}, string, error)) { + var err error + params := &tOrderGetStoreOrderInfoParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.StoreID = c.GetString("storeID") + + if params.LastHours, err = c.GetInt("lastHours", 0); err != nil { + errParams = append(errParams, "lastHours") + } + 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.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 == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.StoreID == "" { + errParams = append(errParams, "storeID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderGetOrderInfoParams struct { + Token string + VendorOrderID string + VendorID int + Refresh bool +} + +// func (c *OrderController) GetOrderInfo() { +// c.callGetOrderInfo(func(params *tOrderGetOrderInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetOrderInfo(handler func(params *tOrderGetOrderInfoParams) (interface{}, string, error)) { + var err error + params := &tOrderGetOrderInfoParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Refresh, err = c.GetBool("refresh", false); err != nil { + errParams = append(errParams, "refresh") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderSelfDeliveringParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) SelfDelivering() { +// c.callSelfDelivering(func(params *tOrderSelfDeliveringParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callSelfDelivering(handler func(params *tOrderSelfDeliveringParams) (interface{}, string, error)) { + var err error + params := &tOrderSelfDeliveringParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderFinishedPickupParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) FinishedPickup() { +// c.callFinishedPickup(func(params *tOrderFinishedPickupParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callFinishedPickup(handler func(params *tOrderFinishedPickupParams) (interface{}, string, error)) { + var err error + params := &tOrderFinishedPickupParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderCreateWaybillOnProvidersParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) CreateWaybillOnProviders() { +// c.callCreateWaybillOnProviders(func(params *tOrderCreateWaybillOnProvidersParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callCreateWaybillOnProviders(handler func(params *tOrderCreateWaybillOnProvidersParams) (interface{}, string, error)) { + var err error + params := &tOrderCreateWaybillOnProvidersParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderGetStoreOrderCountInfoParams struct { + Token string + StoreID string + LastHours int +} + +// func (c *OrderController) GetStoreOrderCountInfo() { +// c.callGetStoreOrderCountInfo(func(params *tOrderGetStoreOrderCountInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetStoreOrderCountInfo(handler func(params *tOrderGetStoreOrderCountInfoParams) (interface{}, string, error)) { + var err error + params := &tOrderGetStoreOrderCountInfoParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.StoreID = c.GetString("storeID") + + if params.LastHours, err = c.GetInt("lastHours", 0); err != nil { + errParams = append(errParams, "lastHours") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.StoreID == "" { + errParams = append(errParams, "storeID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} + +type tOrderGetOrderWaybillInfoParams struct { + Token string + VendorOrderID string + VendorID int +} + +// func (c *OrderController) GetOrderWaybillInfo() { +// c.callGetOrderWaybillInfo(func(params *tOrderGetOrderWaybillInfoParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *OrderController) callGetOrderWaybillInfo(handler func(params *tOrderGetOrderWaybillInfoParams) (interface{}, string, error)) { + var err error + params := &tOrderGetOrderWaybillInfoParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.VendorOrderID = c.GetString("vendorOrderID") + + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("something wrong!") + } + if params.VendorOrderID == "" { + errParams = append(errParams, "vendorOrderID") + } + if err == nil && len(errParams) > 0 { + err = fmt.Errorf(StrRequiredParamIsEmpty, strings.Join(errParams, ",")) + } + + errCode := "-1" + if err == nil { + result, errCode2, err2 := handler(params) + if err = err2; err == nil { + resultMarshal, _ := json.Marshal(result) + c.Data["json"] = &CallResult{ + Code: "0", + Data: string(resultMarshal), + } + } else if errCode2 != "0" && errCode2 != "" { + errCode = errCode2 + } + } + if err != nil { + c.Data["json"] = &CallResult{ + Code: errCode, + Desc: err.Error(), + } + } + c.ServeJSON() +} diff --git a/cpauto.sh b/cpauto.sh new file mode 100755 index 000000000..e4e6d576d --- /dev/null +++ b/cpauto.sh @@ -0,0 +1 @@ +cp swagger/param_parser.go.txt controllers/param_parser.go