Files
jx-callback/business/partner/purchase/jd/store.go
2018-08-30 00:32:57 +08:00

94 lines
3.1 KiB
Go

package jd
import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals/api"
)
func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error) {
result, err := api.JdAPI.GetStoreInfoByStationNo(vendorStoreID)
if err == nil {
retVal := &model.Store{
Name: utils.Interface2String(result["stationName"]),
Address: utils.Interface2String(result["stationAddress"]),
OpenTime1: JdOperationTime2JxOperationTime(result["serviceTimeStart1"]),
CloseTime1: JdOperationTime2JxOperationTime(result["serviceTimeEnd1"]),
OpenTime2: JdOperationTime2JxOperationTime(result["serviceTimeStart2"]),
CloseTime2: JdOperationTime2JxOperationTime(result["serviceTimeEnd2"]),
Status: JdStoreStatus2JxStatus(result["yn"], result["closeStatus"]),
}
retVal.ID = int(utils.Str2Int64WithDefault(utils.Interface2String(result["outSystemId"]), 0))
return retVal, nil
}
return nil, err
}
func (p *PurchaseHandler) UpdateStore(vendorStoreID string, store *model.Store, userName string) error {
params := map[string]interface{}{
"outSystemId": utils.Int2Str(int(store.ID)),
"stationName": store.Name,
"stationAddress": store.Address,
"serviceTimeStart1": JxOperationTime2JdOperationTime(store.OpenTime1),
"serviceTimeEnd1": JxOperationTime2JdOperationTime(store.CloseTime1),
"serviceTimeStart2": JxOperationTime2JdOperationTime(store.OpenTime2),
"serviceTimeEnd2": JxOperationTime2JdOperationTime(store.CloseTime2),
}
_, params["closeStatus"] = JxStoreStatus2JdStatus(store.Status)
// globals.SugarLogger.Debug(utils.Format4Output(params, false))
return api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
}
// 没用
// func (p *PurchaseHandler) DeleteStore(vendorStoreID, userName string) error {
// params := map[string]interface{}{
// "yn": 1,
// }
// _, err := api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
// return err
// }
func (p *PurchaseHandler) EnableAutoAcceptOrder(vendorStoreID string, isEnabled bool) error {
_, err := api.JdAPI.UpdateStoreConfig4Open(vendorStoreID, isEnabled)
return err
}
func (p *PurchaseHandler) OpenStore(vendorStoreID string, userName string) error {
params := map[string]interface{}{
"closeStatus": 0,
"storeNotice": "",
}
return api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
}
func (p *PurchaseHandler) CloseStore(vendorStoreID, closeNotice, userName string) error {
params := map[string]interface{}{
"closeStatus": 1,
"storeNotice": closeNotice,
}
return api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
}
///////////////////////
func (p *PurchaseHandler) GetAllStoreIDsFromRemote() ([]string, error) {
result, err := api.JdAPI.GetStationsByVenderId()
return result, err
}
func (p *PurchaseHandler) GetAllStoresFromRemote() ([]*model.Store, error) {
ids, err := p.GetAllStoreIDsFromRemote()
if err == nil {
retVal := make([]*model.Store, len(ids))
for index, id := range ids {
store, err2 := p.ReadStore(id)
if err2 == nil {
retVal[index] = store
} else {
return nil, err2
}
}
return retVal, nil
}
return nil, err
}