dao

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DB

func DB() *gorm.DB

DB 返回只读实例

func DBMaster

func DBMaster() *gorm.DB

DBMaster 返回主库实例

func SetDBMasterConn

func SetDBMasterConn(conn *gorm.DB)

SetDBMasterConn 设置连接对象 -- 只用在单测中把DB连接改成sqlMock的DB连接

func SetDBSlaveConn

func SetDBSlaveConn(conn *gorm.DB)

SetDBSlaveConn 设置连接对象 -- 只用在单测中把DB连接改成sqlMock的DB连接

Types

type CartDao

type CartDao struct {
	// contains filtered or unexported fields
}

func NewCartDao

func NewCartDao(ctx context.Context) *CartDao

func (*CartDao) AddCartItem

func (cd *CartDao) AddCartItem(cartItem *model.ShoppingCartItem) error

AddCartItem 添加购物车购物项

func (*CartDao) DeleteCartItem

func (cd *CartDao) DeleteCartItem(cartItem *model.ShoppingCartItem) error

DeleteCartItem 删除购物车购物项

func (*CartDao) DeleteMultiCartItemInTx

func (cd *CartDao) DeleteMultiCartItemInTx(tx *gorm.DB, cartIdList []int64) error

DeleteMultiCartItemInTx 创建订单后调用该方法删除购物项

func (*CartDao) FindCartItems

func (cd *CartDao) FindCartItems(cartItemIdList []int64) ([]*model.ShoppingCartItem, error)

FindCartItems 获取多个ID指定的购物项

func (*CartDao) GetCartItemById

func (cd *CartDao) GetCartItemById(cartItemId int64) (*model.ShoppingCartItem, error)

GetCartItemById 根据购物项 ID 获取信息

func (*CartDao) GetUserCartItemWithCommodityId

func (cd *CartDao) GetUserCartItemWithCommodityId(userId, commodityId int64) (*model.ShoppingCartItem, error)

GetUserCartItemWithCommodityId 根据 userId 和 commodityId 查询购物车信息

func (*CartDao) GetUserCartItems

func (cd *CartDao) GetUserCartItems(userId int64) ([]*model.ShoppingCartItem, error)

GetUserCartItems 获取用户购物车里的购物项

func (*CartDao) UpdateCartItem

func (cd *CartDao) UpdateCartItem(cartItem *model.ShoppingCartItem) error

UpdateCartItem 更新购物车购物项

type CommodityDao

type CommodityDao struct {
	// contains filtered or unexported fields
}

func NewCommodityDao

func NewCommodityDao(ctx context.Context) *CommodityDao

func (*CommodityDao) BulkCreateCommodities

func (cd *CommodityDao) BulkCreateCommodities(commodities []*model.Commodity) error

BulkCreateCommodities 批量创建商品

func (*CommodityDao) BulkCreateCommodityCategories

func (cd *CommodityDao) BulkCreateCommodityCategories(categories []*model.CommodityCategory) error

BulkCreateCommodityCategories 批量创建商品分类

func (*CommodityDao) FindCommodities

func (cd *CommodityDao) FindCommodities(commodityIdList []int64) ([]*model.Commodity, error)

FindCommodities 查询主键 id IN commodityIdList 的 商品

func (*CommodityDao) FindCommodityById

func (cd *CommodityDao) FindCommodityById(commodityId int64) (*model.Commodity, error)

FindCommodityById 通过ID查商品信息

func (*CommodityDao) FindCommodityWithNameKeyword

func (cd *CommodityDao) FindCommodityWithNameKeyword(keyword string, offset, returnSize int) (commodityList []*model.Commodity, totalRows int64, err error)

FindCommodityWithNameKeyword 按名称LIKE查询商品列表

func (*CommodityDao) GetAllCategories

func (cd *CommodityDao) GetAllCategories() ([]*model.CommodityCategory, error)

GetAllCategories 获取所有商品分类

func (*CommodityDao) GetCategoryById

func (cd *CommodityDao) GetCategoryById(categoryId int64) (*model.CommodityCategory, error)

GetCategoryById 获取Id对应的分类信息

func (*CommodityDao) GetCommoditiesInCategory

func (cd *CommodityDao) GetCommoditiesInCategory(categoryIds []int64, offset, returnSize int) (commodityList []*model.Commodity, totalRows int64, err error)

GetCommoditiesInCategory 查询分类下的商品列表

func (*CommodityDao) GetOneCommodity

func (cd *CommodityDao) GetOneCommodity() (*model.Commodity, error)

GetOneCommodity 无查询条件,返回一条数据

func (*CommodityDao) GetSubCategories

func (cd *CommodityDao) GetSubCategories(parentId int64) ([]*model.CommodityCategory, error)

GetSubCategories 查询指定 ID 下的商品分类

func (*CommodityDao) GetThirdLevelCategories

func (cd *CommodityDao) GetThirdLevelCategories(categoryInfo *do.CommodityCategory) (categoryIds []int64, err error)

GetThirdLevelCategories 获取指定分类下的所有三级分类 ID

func (*CommodityDao) InitCategoryData

func (cd *CommodityDao) InitCategoryData(categoryDos []*do.CommodityCategory) error

InitCategoryData 初始化商品分类数据

func (*CommodityDao) InitCommodityData

func (cd *CommodityDao) InitCommodityData(commodityDos []*do.Commodity) error

InitCommodityData 初始化商品数据

func (*CommodityDao) RecoverOrderCommodityStuck

func (cd *CommodityDao) RecoverOrderCommodityStuck(orderItems []*do.OrderItem) error

RecoverOrderCommodityStuck 用户取消订单后商品减库存

func (*CommodityDao) ReduceStuckInOrderCreate

func (cd *CommodityDao) ReduceStuckInOrderCreate(tx *gorm.DB, orderItems []*do.OrderItem) error

ReduceStuckInOrderCreate 创建订单后商品减库存

type DemoDao

type DemoDao struct {
	// contains filtered or unexported fields
}

func NewDemoDao

func NewDemoDao(ctx context.Context) *DemoDao

func (*DemoDao) CreateDemoOrder

func (demo *DemoDao) CreateDemoOrder(demoOrder *do.DemoOrder) (*model.DemoOrder, error)

CreateDemoOrder 创建订单

func (*DemoDao) GetAllDemos

func (demo *DemoDao) GetAllDemos() (demos []*model.DemoOrder, err error)

type GormLogger

type GormLogger struct {
	SlowThreshold time.Duration // 慢 SQL 阈值,也可以做成配置项放到配置文件中
}

func NewGormLogger

func NewGormLogger() *GormLogger

func (*GormLogger) Error

func (l *GormLogger) Error(ctx context.Context, msg string, data ...interface{})

func (*GormLogger) Info

func (l *GormLogger) Info(ctx context.Context, msg string, data ...interface{})

func (*GormLogger) LogMode

func (*GormLogger) Trace

func (l *GormLogger) Trace(ctx context.Context, begin time.Time, fc func() (sql string, rowsAffected int64), err error)

func (*GormLogger) Warn

func (l *GormLogger) Warn(ctx context.Context, msg string, data ...interface{})

type OrderDao

type OrderDao struct {
	// contains filtered or unexported fields
}

func NewOrderDao

func NewOrderDao(ctx context.Context) *OrderDao

func (*OrderDao) CreateOrder

func (od *OrderDao) CreateOrder(tx *gorm.DB, order *do.Order) error

CreateOrder 用户创建订单

func (*OrderDao) GetMultiOrdersAddress

func (od *OrderDao) GetMultiOrdersAddress(orderIds []int64) (map[int64]*model.OrderAddress, error)

GetMultiOrdersAddress 获取多个订单的地址, 返回以 orderId 为Key, 对应的订单地址为值的 Map

func (*OrderDao) GetMultiOrdersItems

func (od *OrderDao) GetMultiOrdersItems(orderIds []int64) (map[int64][]*model.OrderItem, error)

GetMultiOrdersItems 获取多个订单对应的订单明细列表, 返回以 orderId 为 Key, 对应的订单明细列表为值的 Map

func (*OrderDao) GetOrderAddress

func (od *OrderDao) GetOrderAddress(orderId int64) (*model.OrderAddress, error)

GetOrderAddress 根据订单 ID 获取订单地址信息

func (*OrderDao) GetOrderByNo

func (od *OrderDao) GetOrderByNo(orderNo string) (*model.Order, error)

GetOrderByNo 根据订单号获取订单信息

func (*OrderDao) GetOrderItems

func (od *OrderDao) GetOrderItems(orderId int64) ([]*model.OrderItem, error)

GetOrderItems 根据订单 ID 获取订单商品详情

func (*OrderDao) GetUserOrders

func (od *OrderDao) GetUserOrders(userId int64, offset, returnSize int) (orders []*model.Order, totalRows int64, err error)

GetUserOrders 获取用户订单列表

func (*OrderDao) UpdateOrder

func (od *OrderDao) UpdateOrder(orderModel *model.Order) error

func (*OrderDao) UpdateOrderStatus

func (od *OrderDao) UpdateOrderStatus(orderId int64, status int) error

UpdateOrderStatus 更新订单状态

type ReviewDao

type ReviewDao struct {
	// contains filtered or unexported fields
}

func NewReviewDao

func NewReviewDao(ctx context.Context) *ReviewDao

func (*ReviewDao) AdminReply

func (rd *ReviewDao) AdminReply(reviewId int64, reply string, replyTime int64) error

AdminReply 商家回复评价

func (*ReviewDao) CreateReview

func (rd *ReviewDao) CreateReview(tx *gorm.DB, review *do.Review, images []string) error

CreateReview 创建评价

func (*ReviewDao) DeletePublishedReview

func (rd *ReviewDao) DeletePublishedReview(tx *gorm.DB, reviewId int64) error

DeletePublishedReview 删除已发布的评论

func (*ReviewDao) GetCommodityReviews

func (rd *ReviewDao) GetCommodityReviews(commodityId int64, offset, returnSize int) (reviews []*model.Review, totalRows int64, err error)

GetCommodityReviews 获取商品的评价列表

func (*ReviewDao) GetMultiReviewsImages

func (rd *ReviewDao) GetMultiReviewsImages(reviewIds []int64) (map[int64][]string, error)

GetMultiReviewsImages 获取多条评论的图片, 返回以 reviewId 为 Key, 对应的评论图片为值的 Map

func (*ReviewDao) GetReviewById

func (rd *ReviewDao) GetReviewById(reviewId int64) (*model.Review, error)

GetReviewById 根据评论 ID 获取评价

func (*ReviewDao) GetReviewImages

func (rd *ReviewDao) GetReviewImages(reviewId int64) ([]*model.ReviewImage, error)

GetReviewImages 根据 reviewId 获取评价图片

func (*ReviewDao) GetReviewStatistics

func (rd *ReviewDao) GetReviewStatistics(commodityId int64) (*struct {
	TotalCount    int
	PositiveCount int
	NeutralCount  int
	NegativeCount int
	HasImageCount int
	AvgRating     float64
}, error)

GetReviewStatistics 获取商品评价统计

func (*ReviewDao) GetUserReviews

func (rd *ReviewDao) GetUserReviews(userId int64, offset, returnSize int) (reviews []*model.Review, totalRows int64, err error)

GetUserReviews 获取用户的评价列表

func (*ReviewDao) UpdateReviewStatus

func (rd *ReviewDao) UpdateReviewStatus(reviewId int64, status int) error

UpdateReviewStatus 更新评价状态

type UserDao

type UserDao struct {
	// contains filtered or unexported fields
}

func NewUserDao

func NewUserDao(ctx context.Context) *UserDao

func (*UserDao) CreateUser

func (ud *UserDao) CreateUser(userInfo *do.UserBaseInfo, userPasswordHash string) (*model.User, error)

func (*UserDao) CreateUserAddress

func (ud *UserDao) CreateUserAddress(userAddress *do.UserAddressInfo) (*model.UserAddress, error)

func (*UserDao) DeleteOneAddress

func (ud *UserDao) DeleteOneAddress(address *model.UserAddress) error

func (*UserDao) FindUserAddresses

func (ud *UserDao) FindUserAddresses(userId int64) ([]*model.UserAddress, error)

func (*UserDao) FindUserById

func (ud *UserDao) FindUserById(userId int64) (*model.User, error)

func (*UserDao) FindUserByLoginName

func (ud *UserDao) FindUserByLoginName(loginName string) (*model.User, error)

func (*UserDao) GetSingleAddress

func (ud *UserDao) GetSingleAddress(addressId int64) (*model.UserAddress, error)

func (*UserDao) GetUserDefaultAddress

func (ud *UserDao) GetUserDefaultAddress(userId int64) (*model.UserAddress, error)

func (*UserDao) UpdateUser

func (ud *UserDao) UpdateUser(user *model.User) error

func (*UserDao) UpdateUserAddress

func (ud *UserDao) UpdateUserAddress(userAddress *do.UserAddressInfo) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL