feat:完善信息
This commit is contained in:
@ -5,8 +5,10 @@ import (
|
||||
"SciencesServer/app/basic/controller"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/session"
|
||||
"SciencesServer/serve/orm"
|
||||
"SciencesServer/utils"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -177,6 +179,65 @@ func (c *Demand) Delete(id uint64) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Progress 进度信息
|
||||
func (c *Demand) Progress(demandID uint64) {
|
||||
mTechnologyDemandService := model.NewTechnologyDemandService()
|
||||
|
||||
model2.FirstWhere(mTechnologyDemandService.TechnologyDemandService,
|
||||
model2.NewWhere("demand_id", demandID))
|
||||
}
|
||||
|
||||
// ProgressLaunch 进度发起
|
||||
func (c *Demand) ProgressLaunch(demandID uint64, status int, config string) error {
|
||||
// TODO:缺少发起判断
|
||||
// 查询当前进度
|
||||
mTechnologyDemandService := model.NewTechnologyDemandService()
|
||||
|
||||
isExist, err := model2.FirstWhere(mTechnologyDemandService.TechnologyDemandService,
|
||||
model2.NewWhere("demand_id", demandID))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if !isExist {
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
mTechnologyDemandService.UID = c.UID
|
||||
mTechnologyDemandService.DemandID = demandID
|
||||
mTechnologyDemandService.Progress = model2.TechnologyDemandServiceProgressKindForMemorandum
|
||||
|
||||
if err = model2.Create(mTechnologyDemandService.TechnologyDemandService, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
mTechnologyDemandServiceProgress := model.NewTechnologyDemandServiceProgress()
|
||||
mTechnologyDemandServiceProgress.ServiceID = mTechnologyDemandService.ID
|
||||
mTechnologyDemandServiceProgress.Progress = model2.TechnologyDemandServiceProgressKindForMemorandum
|
||||
mTechnologyDemandServiceProgress.Config = config
|
||||
return model2.Create(mTechnologyDemandServiceProgress.TechnologyDemandServiceProgress, tx)
|
||||
})
|
||||
}
|
||||
if mTechnologyDemandService.Status != model2.TechnologyDemandServiceStatusForOngoing {
|
||||
return errors.New("操作错误,当前状态不可处理")
|
||||
}
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
// 下一流程
|
||||
mTechnologyDemandService.Progress = mTechnologyDemandService.NextProgress()
|
||||
|
||||
if mTechnologyDemandService.Progress == model2.TechnologyDemandServiceProgressKindForComplete {
|
||||
if status <= 0 {
|
||||
return errors.New("操作错误,请确认结题状态")
|
||||
}
|
||||
mTechnologyDemandService.Status = model2.TechnologyDemandServiceStatus(status)
|
||||
}
|
||||
if err = model2.Updates(mTechnologyDemandService.TechnologyDemandService, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
mTechnologyDemandServiceProgress := model.NewTechnologyDemandServiceProgress()
|
||||
mTechnologyDemandServiceProgress.ServiceID = mTechnologyDemandService.ID
|
||||
mTechnologyDemandServiceProgress.Progress = mTechnologyDemandService.Progress
|
||||
mTechnologyDemandServiceProgress.Config = config
|
||||
return model2.Create(mTechnologyDemandServiceProgress.TechnologyDemandServiceProgress, tx)
|
||||
})
|
||||
}
|
||||
|
||||
func NewDemand() DemandHandle {
|
||||
return func(session *session.Enterprise, tenantID uint64) *Demand {
|
||||
return &Demand{Enterprise: session, tenantID: tenantID}
|
||||
|
Reference in New Issue
Block a user