76 lines
1.9 KiB
Go
76 lines
1.9 KiB
Go
package configs
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"errors"
|
|
"fusenapi/constants"
|
|
"fusenapi/model/gmodel"
|
|
"strconv"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
"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
|
|
}
|