voucher/internal/data/repoimpl/base.go

42 lines
825 B
Go

package repoimpl
import (
"time"
err2 "voucher/api/err"
"voucher/internal/pkg/mapstructure"
)
var (
ErrOrderRecordNotFound = err2.ErrorDbNotFound("订单不存在")
ErrProductRecordNotFound = err2.ErrorDbNotFound("商品不存在")
ErrOrderNotifyRecordNotFound = err2.ErrorDbNotFound("订单通知数据不存在")
ErrWechatNotifyRegisterTagRecordNotFound = err2.ErrorDbNotFound("微信注册tag数据不存在")
)
type Base[D any, B any] struct{}
func (*Base[D, B]) ToBo(d *D) *B {
if d == nil {
return nil
}
var b *B
_ = mapstructure.DecodeWithTime(d, &b, time.DateTime)
return b
}
func (base *Base[D, B]) ToBos(ds []*D) []*B {
if ds == nil {
return nil
}
bos := make([]*B, len(ds))
for k, p := range ds {
bos[k] = base.ToBo(p)
}
return bos
}