diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 37e272c38..90dd8aaaa 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1,11 +1,18 @@ package cms import ( + "errors" + "time" + "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals/gormdb" ) -func GetCities(parentCode int, vendorID int, includeDisabled bool) ([]*model.Place, error) { +var ( + ErrMissingInput = errors.New("没有有效的输入参数") +) + +func GetPlaces(parentCode int, vendorID int, includeDisabled bool) ([]*model.Place, error) { db := gormdb.GetDB() places := []*model.Place{} sql := "enabled = 1 " @@ -20,3 +27,23 @@ func GetCities(parentCode int, vendorID int, includeDisabled bool) ([]*model.Pla } return places, db.Where(sql+"AND parent_code = ?", parentCode).Find(&places).Error } + +func UpdatePlaces(places []*model.Place, userName string) (err error) { + if len(places) == 0 { + return ErrMissingInput + } + db := gormdb.GetDB() + for _, place := range places { + params := map[string]interface{}{"enabled": place.Enabled, "updated_at": time.Now()} + if place.JdCode != 0 { + params["jd_code"] = place.JdCode + } + if place.MtpsPrice != 0 { + params["mtps_price"] = place.MtpsPrice + } + if err = db.Table("place").Where("code = ?", place.Code).Updates(params).Error; err != nil { + break + } + } + return err +} diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 9a5f153a6..2b72b9d07 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -3,7 +3,9 @@ package controllers import ( "errors" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" + "git.rosy.net.cn/jx-callback/business/model" "github.com/astaxie/beego" ) @@ -19,16 +21,32 @@ type StoreController struct { // @Param includeDisabled query bool false "是否包括禁用的城市" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult -// @router /GetCities [get] -func (c *StoreController) GetCities() { - c.callGetCities(func(params *tStoreGetCitiesParams) (retVal interface{}, errCode string, err error) { +// @router /GetPlaces [get] +func (c *StoreController) GetPlaces() { + c.callGetPlaces(func(params *tStoreGetPlacesParams) (retVal interface{}, errCode string, err error) { if c.GetString("vendorID") == "" { params.VendorID = -1 // -1表示没有指定,因为0表示京东到家 } if params.VendorID == -1 && params.ParentCode == 0 { return nil, "", errors.New("parentCode与vendorID至少要指定一个") } - retVal, err = cms.GetCities(params.ParentCode, params.VendorID, params.IncludeDisabled) + retVal, err = cms.GetPlaces(params.ParentCode, params.VendorID, params.IncludeDisabled) return retVal, "", err }) } + +// @Title 修改地点信息 +// @Description 只支持修改enabled, jd_code和mtps_price这三个属性 +// @Param token header string true "认证toke" +// @Param payload formData string true "json数据,place对象数组" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdatePlaces [put] +func (c *StoreController) UpdatePlaces() { + c.callUpdatePlaces(func(params *tStoreUpdatePlacesParams) (retVal interface{}, errCode string, err error) { + placeList := []*model.Place{} + utils.UnmarshalUseNumber([]byte(params.Payload), &placeList) + err = cms.UpdatePlaces(placeList, GetUserNameFromToken(params.Token)) + return nil, "", err + }) +} diff --git a/controllers/param_parser.go b/controllers/param_parser.go index c77ac120c..ac6d3adba 100644 --- a/controllers/param_parser.go +++ b/controllers/param_parser.go @@ -15,76 +15,20 @@ const ( strRequiredParamIsEmpty = "参数[%s]为空或数值不合法!" ) -type tStoreGetCitiesParams struct { - Token string - ParentCode int - VendorID int - IncludeDisabled bool -} - -// func (c *StoreController) GetCities() { -// c.callGetCities(func(params *tStoreGetCitiesParams) (retVal interface{}, errCode string, err error) { -// return retVal, "", err -// }) -// } -func (c *StoreController) callGetCities(handler func(params *tStoreGetCitiesParams) (interface{}, string, error)) { - var err error - params := &tStoreGetCitiesParams{} - errParams := []string{} - params.Token = c.Ctx.Input.Header("token") - - if params.ParentCode, err = c.GetInt("parentCode", 0); err != nil { - errParams = append(errParams, "parentCode") - } - if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { - errParams = append(errParams, "vendorID") - } - if params.IncludeDisabled, err = c.GetBool("includeDisabled", false); err != nil { - errParams = append(errParams, "includeDisabled") - } - if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 - err = errors.New("Something wrong!") - } - if 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 { +type tOrderGetOrderWaybillInfoParams struct { Token string VendorOrderID string VendorID int } -// func (c *OrderController) CreateWaybillOnProviders() { -// c.callCreateWaybillOnProviders(func(params *tOrderCreateWaybillOnProvidersParams) (retVal interface{}, errCode string, err error) { +// func (c *OrderController) GetOrderWaybillInfo() { +// c.callGetOrderWaybillInfo(func(params *tOrderGetOrderWaybillInfoParams) (retVal interface{}, errCode string, err error) { // return retVal, "", err // }) // } -func (c *OrderController) callCreateWaybillOnProviders(handler func(params *tOrderCreateWaybillOnProvidersParams) (interface{}, string, error)) { +func (c *OrderController) callGetOrderWaybillInfo(handler func(params *tOrderGetOrderWaybillInfoParams) (interface{}, string, error)) { var err error - params := &tOrderCreateWaybillOnProvidersParams{} + params := &tOrderGetOrderWaybillInfoParams{} errParams := []string{} params.Token = c.Ctx.Input.Header("token") params.VendorOrderID = c.GetString("vendorOrderID") @@ -177,233 +121,6 @@ func (c *OrderController) callSelfDelivered(handler func(params *tOrderSelfDeliv 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 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 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 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 tSkuGetVendorCategoriesParams struct { - Token string - VendorID int -} - -// func (c *SkuController) GetVendorCategories() { -// c.callGetVendorCategories(func(params *tSkuGetVendorCategoriesParams) (retVal interface{}, errCode string, err error) { -// return retVal, "", err -// }) -// } -func (c *SkuController) callGetVendorCategories(handler func(params *tSkuGetVendorCategoriesParams) (interface{}, string, error)) { - var err error - params := &tSkuGetVendorCategoriesParams{} - errParams := []string{} - params.Token = c.Ctx.Input.Header("token") - - if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { - errParams = append(errParams, "vendorID") - } - if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 - err = errors.New("Something wrong!") - } - if 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 @@ -510,76 +227,21 @@ func (c *OrderController) callSelfDelivering(handler func(params *tOrderSelfDeli c.ServeJSON() } -type tOrderGetStoreOrderCountInfoParams struct { +type tSkuGetVendorCategoriesParams 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 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) { +// func (c *SkuController) GetVendorCategories() { +// c.callGetVendorCategories(func(params *tSkuGetVendorCategoriesParams) (retVal interface{}, errCode string, err error) { // return retVal, "", err // }) // } -func (c *OrderController) callGetOrderWaybillInfo(handler func(params *tOrderGetOrderWaybillInfoParams) (interface{}, string, error)) { +func (c *SkuController) callGetVendorCategories(handler func(params *tSkuGetVendorCategoriesParams) (interface{}, string, error)) { var err error - params := &tOrderGetOrderWaybillInfoParams{} + params := &tSkuGetVendorCategoriesParams{} 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") @@ -587,9 +249,6 @@ func (c *OrderController) callGetOrderWaybillInfo(handler func(params *tOrderGet if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 err = errors.New("Something wrong!") } - if params.VendorOrderID == "" { - errParams = append(errParams, "vendorOrderID") - } if len(errParams) > 0 { err = fmt.Errorf(strRequiredParamIsEmpty, strings.Join(errParams, ",")) } @@ -659,3 +318,393 @@ func (c *SkuController) callGetSkuMetaInfo(handler func(params *tSkuGetSkuMetaIn } c.ServeJSON() } + +type tStoreGetPlacesParams struct { + Token string + ParentCode int + VendorID int + IncludeDisabled bool +} + +// func (c *StoreController) GetPlaces() { +// c.callGetPlaces(func(params *tStoreGetPlacesParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *StoreController) callGetPlaces(handler func(params *tStoreGetPlacesParams) (interface{}, string, error)) { + var err error + params := &tStoreGetPlacesParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + + if params.ParentCode, err = c.GetInt("parentCode", 0); err != nil { + errParams = append(errParams, "parentCode") + } + if params.VendorID, err = c.GetInt("vendorID", 0); err != nil { + errParams = append(errParams, "vendorID") + } + if params.IncludeDisabled, err = c.GetBool("includeDisabled", false); err != nil { + errParams = append(errParams, "includeDisabled") + } + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("Something wrong!") + } + if 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 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 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 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 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 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 tStoreUpdatePlacesParams struct { + Token string + Payload string +} + +// func (c *StoreController) UpdatePlaces() { +// c.callUpdatePlaces(func(params *tStoreUpdatePlacesParams) (retVal interface{}, errCode string, err error) { +// return retVal, "", err +// }) +// } +func (c *StoreController) callUpdatePlaces(handler func(params *tStoreUpdatePlacesParams) (interface{}, string, error)) { + var err error + params := &tStoreUpdatePlacesParams{} + errParams := []string{} + params.Token = c.Ctx.Input.Header("token") + params.Payload = c.GetString("payload") + + if params.Token == "" { // 对于token缺失,报一个模糊的错误信息 + err = errors.New("Something wrong!") + } + if params.Payload == "" { + errParams = append(errParams, "payload") + } + if 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/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 6cae713ac..c89e1673e 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -97,10 +97,18 @@ func init() { beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ - Method: "GetCities", - Router: `/GetCities`, + Method: "GetPlaces", + Router: `/GetPlaces`, AllowHTTPMethods: []string{"get"}, MethodParams: param.Make(), Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], + beego.ControllerComments{ + Method: "UpdatePlaces", + Router: `/UpdatePlaces`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Params: nil}) + }