fusenapi/model/gmodel/fs_product_model3d_logic.go

96 lines
3.1 KiB
Go
Raw Normal View History

2023-06-16 07:11:37 +00:00
package gmodel
import (
"context"
)
2023-06-20 09:28:28 +00:00
func (d *FsProductModel3dModel) FindOne(ctx context.Context, id int64) (resp *FsProductModel3d, err error) {
2023-06-26 08:53:36 +00:00
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` = ? ", id).First(&resp).Error
2023-06-20 09:28:28 +00:00
return resp, err
2023-06-19 06:47:54 +00:00
}
2023-07-21 04:27:37 +00:00
func (d *FsProductModel3dModel) GetAllByIds(ctx context.Context, ids []int64, orderBy string, fields ...string) (resp []FsProductModel3d, err error) {
2023-06-16 07:11:37 +00:00
if len(ids) == 0 {
return
}
2023-06-21 04:11:43 +00:00
db := d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ?", ids, 1)
if len(fields) > 0 {
db = db.Select(fields[0])
2023-06-16 07:11:37 +00:00
}
2023-07-21 04:27:37 +00:00
if orderBy != "" {
db = db.Order(orderBy)
}
2023-06-21 04:11:43 +00:00
err = db.Find(&resp).Error
return resp, err
2023-06-16 07:11:37 +00:00
}
2023-06-27 09:04:58 +00:00
func (d *FsProductModel3dModel) GetAllByIdsWithoutStatus(ctx context.Context, ids []int64, fields ...string) (resp []FsProductModel3d, err error) {
if len(ids) == 0 {
return
}
db := d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?)", ids)
if len(fields) > 0 {
db = db.Select(fields[0])
}
err = db.Find(&resp).Error
return resp, err
}
2023-06-16 07:11:37 +00:00
func (d *FsProductModel3dModel) GetAllByIdsTag(ctx context.Context, ids []int64, tag int64) (resp []FsProductModel3d, err error) {
if len(ids) == 0 {
return
}
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`id` in (?) and `status` = ? and `tag` = ?", ids, 1, tag).Find(&resp).Error
2023-06-21 04:11:43 +00:00
return resp, err
2023-06-16 07:11:37 +00:00
}
2023-06-25 09:11:42 +00:00
type Get3dModelsByParamReq struct {
Tag int64
ProductId int64
}
func (d *FsProductModel3dModel) Get3dModelsByParam(ctx context.Context, req Get3dModelsByParamReq) (resp []FsProductModel3d, err error) {
if req.ProductId == 0 && req.Tag == 0 {
return nil, nil
}
db := d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`status` = ?", 1)
if req.ProductId > 0 {
db = db.Where("`product_id` =? ", req.ProductId)
}
if req.Tag > 0 {
db = db.Where("`tag` =? ", req.Tag)
}
err = db.Find(&resp).Error
return resp, err
}
2023-06-26 08:53:36 +00:00
func (d *FsProductModel3dModel) Update(ctx context.Context, id int64, data *FsProductModel3d) error {
return d.db.WithContext(ctx).Where("`id` = ? ", id).Updates(&data).Error
}
2023-07-14 08:48:04 +00:00
func (d *FsProductModel3dModel) GetAllBySizeIdsTag(ctx context.Context, sizeIds []int64, tag int64, fields ...string) (resp []FsProductModel3d, err error) {
2023-07-04 08:48:56 +00:00
if len(sizeIds) == 0 {
return
}
2023-07-14 08:48:04 +00:00
db := d.db.WithContext(ctx).Model(&FsProductModel3d{}).Where("`size_id` in (?) and `tag` = ?", sizeIds, tag)
if len(fields) != 0 {
db = db.Select(fields[0])
}
err = db.Find(&resp).Error
2023-07-04 08:48:56 +00:00
return resp, err
}
func (d *FsProductModel3dModel) GetAll(ctx context.Context) (resp []FsProductModel3d, err error) {
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).Find(&resp).Error
return resp, err
}
2023-07-20 03:08:35 +00:00
type GetGroupPartListByProductIdsRsp struct {
PartList string `json:"part_list"`
ProductId int64 `json:"product_id"`
}
func (d *FsProductModel3dModel) GetGroupPartListByProductIds(ctx context.Context, productIds []int64) (resp []GetGroupPartListByProductIdsRsp, err error) {
if len(productIds) == 0 {
return
}
err = d.db.WithContext(ctx).Model(&FsProductModel3d{}).
Select("product_id,group_concat(part_list) as part_list").
Group("product_id").Find(&resp).Error
return resp, err
}