refactor: 优化数据库查询构建链式调用

This commit is contained in:
2026-03-27 14:55:44 +08:00
parent 70b8cf0316
commit a23db30957
5 changed files with 9 additions and 19 deletions

View File

@@ -32,7 +32,7 @@ func (d *assetSku) Insert(ctx context.Context, req *dto.CreateAssetSkuReq) (id i
// Update 更新SKU
func (d *assetSku) Update(ctx context.Context, req *dto.UpdateAssetSkuReq) (rows int64, err error) {
r, err := gfdb.DB(ctx).Model(ctx, public.TableNameAssetSku).Data(&req).OmitEmpty().Where(entity.AssetCol.Id, req.Id).Update()
r, err := gfdb.DB(ctx).Model(ctx, public.TableNameAssetSku).Data(&req).Where(entity.AssetCol.Id, req.Id).Update()
if err != nil {
return
}
@@ -60,8 +60,7 @@ func (d *assetSku) GetOne(ctx context.Context, req *dto.GetAssetSkuReq, fields .
// GetListByAssetIdExcludeCurrentSku 根据资产ID获取SKU列表并且排除当前SKU
func (d *assetSku) GetListByAssetIdExcludeCurrentSku(ctx context.Context, assetId int64, req *dto.ListAssetSkuReq, fields ...string) (res []entity.AssetSku, total int, err error) {
model := gfdb.DB(ctx).Model(ctx, public.TableNameAssetSku)
model.Fields(fields)
model := gfdb.DB(ctx).Model(ctx, public.TableNameAssetSku).Fields(fields)
model.Where(entity.AssetSkuCol.AssetId, assetId)
model.WhereNot(entity.AssetSkuCol.Id, req.Id)
if req.Page != nil {
@@ -77,8 +76,7 @@ func (d *assetSku) GetListByAssetIdExcludeCurrentSku(ctx context.Context, assetI
// List 获取SKU列表
func (d *assetSku) List(ctx context.Context, req *dto.ListAssetSkuReq, fields ...string) (res []entity.AssetSku, total int, err error) {
model := d.buildListFilter(ctx, req)
model.Fields(fields)
model := d.buildListFilter(ctx, req).Fields(fields)
model.OrderAsc(entity.AssetSkuCol.Sort)
model.OrderDesc(entity.AssetSkuCol.CreatedAt)
if req.Page != nil {
@@ -108,6 +106,5 @@ func (d *assetSku) buildListFilter(ctx context.Context, req *dto.ListAssetSkuReq
model.WhereGT(entity.AssetSkuCol.Price, req.MinPrice)
model.WhereLT(entity.AssetSkuCol.Price, req.MaxPrice)
}
model.OmitEmptyWhere()
return model
}