Files
lone-services/services/analysis/internal/callback/persist.go
T
zzw f2fd4acbfd
CI / changes (push) Successful in 1m45s
CI / ad (push) Successful in 0s
CI / admin (push) Successful in 1s
CI / analysis (push) Successful in 47s
CI / bff (push) Successful in 30s
CI / chore (push) Successful in 0s
CI / equipment (push) Successful in 1s
CI / express (push) Successful in 0s
CI / factory (push) Successful in 1s
CI / message (push) Successful in 47s
CI / order (push) Successful in 0s
CI / payment (push) Successful in 1s
CI / percutaneous (push) Successful in 0s
CI / product (push) Successful in 1s
CI / record (push) Successful in 0s
CI / sale (push) Successful in 0s
CI / store (push) Successful in 0s
CI / support (push) Successful in 0s
CI / task (push) Successful in 0s
CI / user (push) Successful in 0s
CI / water (push) Successful in 0s
CI / wecom (push) Successful in 0s
CI / ws (push) Successful in 0s
fix: analysis data type err
2026-10-23 16:42:52 +08:00

74 lines
1.9 KiB
Go

package callback
import (
"strconv"
"lone-services/pkg/modelbase"
"lone-services/pkg/utils"
"lone-services/services/analysis/internal/dao"
"lone-services/services/analysis/internal/model"
"gorm.io/gorm"
)
func SaveTask(ts dao.TaskTimeStamp, userId int64, path *dao.HandleZipResource, coverPath string) error {
m := model.ImageAnalysisModel{}.Init()
var task dao.ImageAnalysis
w := modelbase.Params{Eq: map[string]string{"task_id": ts.TaskId}}
if err := m.GetOne(w, &task); err != nil {
return err
}
now := utils.Now()
if task.Id < utils.NumberOne {
return m.Create(&dao.ImageAnalysis{
TaskId: ts.TaskId,
UserId: userId,
FolderPath: path.TargetDir,
Status: dao.AnalysisStatusPending,
UploadCount: 1,
Cover: coverPath,
CreatedAt: now,
UpdatedAt: now,
})
}
updateData := map[string]interface{}{
"upload_count": gorm.Expr("upload_count + ?", 1),
"folder_path": path.TargetDir,
"updated_at": now,
}
if coverPath != utils.StringEmpty {
updateData["cover"] = coverPath
}
return m.Session().Where("task_id = ?", ts.TaskId).Updates(updateData).Error
}
func SaveSubTask(ts dao.TaskTimeStamp, path *dao.HandleZipResource) error {
now := utils.Now()
return model.ImageAnalysisSubModel{}.Init().Create(&dao.ImageAnalysisSub{
TaskId: ts.TaskId,
SubTaskId: ts.SubTaskId,
Status: dao.AnalysisStatusProcessing,
FilePath: path.FilePath,
ImageDir: path.FinalDir,
UploadStartTs: ts.UploadStartTs,
UploadEndTs: ts.UploadEndTs,
ProcessStartTs: ts.ProcessStartTs,
CreatedAt: now,
UpdatedAt: now,
})
}
func MarkTaskProcessing(taskId string) error {
_, err := model.ImageAnalysisModel{}.Init().Edit(modelbase.Params{
Eq: map[string]string{
"task_id": taskId,
"status": strconv.Itoa(int(dao.AnalysisStatusPending)),
},
}, map[string]interface{}{
"status": dao.AnalysisStatusProcessing,
})
return err
}