package jd

import (
	"fmt"

	"git.rosy.net.cn/baseapi/platformapi/jdapi"
	"git.rosy.net.cn/baseapi/utils"
	"git.rosy.net.cn/jx-callback/business/jxutils/ditu"
	"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
	"git.rosy.net.cn/jx-callback/business/model"
	"git.rosy.net.cn/jx-callback/globals/api"
)

func (c *PurchaseHandler) GetStoreIDListByCoordinates(ctx *jxcontext.Context, coord *ditu.Coordinate) (storeIDList []string, err error) {
	shopListInfo, err := api.JdPageAPI.GetStoreList(fmt.Sprintf("%.6f", coord.Lng), fmt.Sprintf("%.6f", coord.Lat))
	if err != nil {
		// time.Sleep(5 * time.Second)
		return nil, err
	}
	if shopListInfo != nil {
		shopDataList, _ := shopListInfo["data"].(map[string]interface{})["data"].([]interface{})
		for _, v := range shopDataList {
			floorCellData := v.(map[string]interface{})["floorCellData"].(map[string]interface{})
			storeIDList = append(storeIDList, utils.Interface2String(floorCellData["storeId"]))
		}
	}
	return storeIDList, nil
}

func (c *PurchaseHandler) GetStorePageInfo(ctx *jxcontext.Context, storeID string) (storePageInfo *model.PageShop, err error) {
	shopInfo, err2 := api.JdPageAPI.GetStoreInfo2(storeID)
	if err = err2; err == nil && shopInfo != nil {
		return &model.PageShop{
			Name:          shopInfo.StoreInfo.StoreName,
			VendorID:      model.VendorIDJD,
			VendorStoreID: storeID,
			OrgCode:       shopInfo.StoreInfo.OrgCode,
			VendorStatus:  utils.Int2Str(shopInfo.StoreInfo.StationStatus),

			Address:      shopInfo.StoreInfo.StoreAddress,
			Lng:          0,
			Lat:          0,
			DistrictCode: 0,

			Tel1: shopInfo.StoreInfo.StoreTel,

			RecentOrderNum: jdapi.MonthSaleNum2Int(shopInfo.StoreInfo.MonthSaleNum),
			SkuCount:       int(utils.Str2Int64WithDefault(shopInfo.StoreInfo.InSaleNum, 0)),
			BusinessType:   shopInfo.StoreInfo.Industry,
			ShopScore:      float64(shopInfo.StoreCommentVO.ScoreAvg),
		}, nil
	}
	return nil, err
}
