feat:完善信息

This commit is contained in:
henry
2022-01-23 22:59:11 +08:00
parent 5e328ab2da
commit 79c5cbfe74
9 changed files with 340 additions and 7 deletions

View File

@ -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}