package configs

import (
	"context"

	"gorm.io/gorm"
)

type WebSetTimeInfo struct {
	ProductDay        int64
	FactoryDeliverDay int64
	DeliverUpsDay     int64
	UpsTransDay       int64
}

type WebSetTimeInfoData struct {
	ProductDay        string `json:"product_day"`
	FactoryDeliverDay string `json:"factory_deliver_day"`
	DeliverUpsDay     string `json:"deliver_ups_day"`
	UpsTransDay       string `json:"ups_trans_day"`
}

func GetOrderTimeConfig(ctx context.Context, db *gorm.DB) (res WebSetTimeInfo, err error) {
	// resData, err := gmodel.NewFsWebSetModel(db).FindValueByKey(ctx, string(constants.WEBSET_TIME_INFO))
	// if err != nil {
	// 	if errors.Is(err, gorm.ErrRecordNotFound) {
	// 		res.ProductDay = int64(constants.ORDER_PRODUCT_DAY)
	// 		res.FactoryDeliverDay = int64(constants.ORDER_FACTORY_DELIVER_DAY)
	// 		res.DeliverUpsDay = int64(constants.ORDER_DELIVER_UPS_DAY)
	// 		res.UpsTransDay = int64(constants.ORDER_UPS_TRANS_DAY)
	// 		return res, nil
	// 	}
	// 	logx.Error(err)
	// 	return res, err
	// } else {
	// 	var timeInfo WebSetTimeInfoData
	// 	err = json.Unmarshal([]byte(*resData.Value), &timeInfo)
	// 	if err != nil {
	// 		logx.Error(err)
	// 		return res, err
	// 	}
	// 	productDay, err := strconv.Atoi(timeInfo.ProductDay)
	// 	if err != nil {
	// 		logx.Error(err)
	// 		return res, err
	// 	}
	// 	factoryDeliverDay, err := strconv.Atoi(timeInfo.FactoryDeliverDay)
	// 	if err != nil {
	// 		logx.Error(err)
	// 		return res, err
	// 	}
	// 	deliverUpsDay, err := strconv.Atoi(timeInfo.DeliverUpsDay)
	// 	if err != nil {
	// 		logx.Error(err)
	// 		return res, err
	// 	}
	// 	upsTransDay, err := strconv.Atoi(timeInfo.UpsTransDay)
	// 	if err != nil {
	// 		logx.Error(err)
	// 		return res, err
	// 	}
	// 	res.ProductDay = int64(productDay)
	// 	res.FactoryDeliverDay = int64(factoryDeliverDay)
	// 	res.DeliverUpsDay = int64(deliverUpsDay)
	// 	res.UpsTransDay = int64(upsTransDay)
	// }

	return res, nil
}