yidun送检功能
This commit is contained in:
136
dao/dataengine/tencent_image_dao.go
Normal file
136
dao/dataengine/tencent_image_dao.go
Normal file
@@ -0,0 +1,136 @@
|
||||
package dataengine
|
||||
|
||||
import (
|
||||
consts "cid/consts/dataengine"
|
||||
entity "cid/model/entity/dataengine"
|
||||
"context"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
// TencentImageDAO 图片素材数据访问层
|
||||
type TencentImageDAO struct{}
|
||||
|
||||
// TencentImage 图片DAO单例
|
||||
var TencentImage = new(TencentImageDAO)
|
||||
|
||||
// GetPendingList 获取待送检数据列表
|
||||
func (d *TencentImageDAO) GetPendingList(ctx context.Context, limit int) ([]entity.TencentImage, error) {
|
||||
var result []entity.TencentImage
|
||||
r, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.VerifyStatus, consts.CheckStatusPending).
|
||||
WhereNull("deleted_at").
|
||||
OrderAsc("created_time").
|
||||
Limit(limit).
|
||||
All()
|
||||
if err != nil {
|
||||
g.Log().Errorf(ctx, "查询待送检图片数据失败: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
if err = r.Structs(&result); err != nil {
|
||||
g.Log().Errorf(ctx, "转换待送检图片数据失败: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// GetByImageID 根据图片ID获取数据
|
||||
func (d *TencentImageDAO) GetByImageID(ctx context.Context, imageID string) (*entity.TencentImage, error) {
|
||||
var result entity.TencentImage
|
||||
r, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.ImageID, imageID).
|
||||
One()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if r.IsEmpty() {
|
||||
return nil, nil
|
||||
}
|
||||
if err = r.Struct(&result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
// GetByID 根据ID获取数据
|
||||
func (d *TencentImageDAO) GetByID(ctx context.Context, id int64) (*entity.TencentImage, error) {
|
||||
var result entity.TencentImage
|
||||
r, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.Id, id).
|
||||
One()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if r.IsEmpty() {
|
||||
return nil, nil
|
||||
}
|
||||
if err = r.Struct(&result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
// CountPending 统计待送检数量
|
||||
func (d *TencentImageDAO) CountPending(ctx context.Context) (int, error) {
|
||||
count, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.VerifyStatus, consts.CheckStatusPending).
|
||||
WhereNull("deleted_at").
|
||||
Count()
|
||||
if err != nil {
|
||||
g.Log().Errorf(ctx, "统计待送检图片数量失败: %v", err)
|
||||
return 0, err
|
||||
}
|
||||
return int(count), nil
|
||||
}
|
||||
|
||||
// CountByStatus 根据状态统计数量
|
||||
func (d *TencentImageDAO) CountByStatus(ctx context.Context, status string) (int, error) {
|
||||
count, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.VerifyStatus, status).
|
||||
Count()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return int(count), nil
|
||||
}
|
||||
|
||||
// GetByCondition 根据条件获取数据列表
|
||||
func (d *TencentImageDAO) GetByCondition(ctx context.Context, condition map[string]interface{}, page, pageSize int) ([]entity.TencentImage, int, error) {
|
||||
var result []entity.TencentImage
|
||||
model := Model(consts.TencentImageTable)
|
||||
|
||||
for k, v := range condition {
|
||||
model = model.Where(k, v)
|
||||
}
|
||||
|
||||
total, err := model.Count()
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
r, err := model.
|
||||
OrderDesc(entity.TencentImageCols.CreatedTime).
|
||||
Page(page, pageSize).
|
||||
All()
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
if err = r.Structs(&result); err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return result, int(total), nil
|
||||
}
|
||||
|
||||
// UpdateStatus 更新图片校验状态
|
||||
func (d *TencentImageDAO) UpdateStatus(ctx context.Context, id int64, verifyStatus string) (int64, error) {
|
||||
result, err := Model(consts.TencentImageTable).
|
||||
Where(entity.TencentImageCols.Id, id).
|
||||
Data(entity.TencentImageCols.VerifyStatus, verifyStatus).
|
||||
Update()
|
||||
if err != nil {
|
||||
g.Log().Errorf(ctx, "更新图片校验状态失败: %v", err)
|
||||
return 0, err
|
||||
}
|
||||
affected, _ := result.RowsAffected()
|
||||
return affected, nil
|
||||
}
|
||||
Reference in New Issue
Block a user