Files
2022-02-08 11:05:47 +08:00

38 lines
972 B
Go

package technology
import (
"SciencesServer/app/api/admin/model"
model2 "SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"gorm.io/gorm"
"time"
)
type callback func() error
func handleExamine(iModel model2.IModel, uid uint64, kind model2.SysUserExamineLogKind, status int, remark string, callback2 callback) error {
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
err := model2.Updates(iModel, map[string]interface{}{
"status": status, "updated_at": time.Now(),
}, tx)
if err != nil {
return err
}
// 保存审核日志
mSysUserExamineLog := model.NewSysUserExamineLog()
mSysUserExamineLog.UID = uid
mSysUserExamineLog.Kind = kind
mSysUserExamineLog.ObjectID = iModel.GetID()
mSysUserExamineLog.Status = status
mSysUserExamineLog.Remark = remark
if err = model2.Create(mSysUserExamineLog.SysUserExamineLog, tx); err != nil {
return err
}
if callback2 != nil {
return callback2()
}
return err
})
}