38 lines
972 B
Go
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
|
|
})
|
|
}
|