package gmodel

import (
	"context"
)

func (d *FsProductDesignModel) FindOneBySn(ctx context.Context, sn string, userId int64) (resp *FsProductDesign, err error) {
	err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`sn` = ? and `user_id` = ? and `status` = ?", sn, userId, 1).First(&resp).Error
	return resp, err
}
func (d *FsProductDesignModel) GetAllByIds(ctx context.Context, ids []int64) (resp []FsProductDesign, err error) {
	if len(ids) == 0 {
		return
	}
	err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`id` in (?) and `status` = ?", ids, 1).Find(&resp).Error
	if err != nil {
		return nil, err
	}
	return
}
func (d *FsProductDesignModel) GetAllByIdsWithoutStatus(ctx context.Context, ids []int64) (resp []FsProductDesign, err error) {
	if len(ids) == 0 {
		return
	}
	err = d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`id` in (?)", ids).Find(&resp).Error
	if err != nil {
		return nil, err
	}
	return
}
func (d *FsProductDesignModel) Create(ctx context.Context, data *FsProductDesign) error {
	return d.db.WithContext(ctx).Model(&FsProductDesign{}).Create(&data).Error
}
func (d *FsProductDesignModel) UpdateBySn(ctx context.Context, sn string, data *FsProductDesign) error {
	return d.db.WithContext(ctx).Model(&FsProductDesign{}).Where("`sn` = ?", sn).Updates(&data).Error
}

func (m *FsProductDesignModel) TableName() string {
	return m.name
}