feat:完善项目信息

This commit is contained in:
henry
2022-01-19 22:13:28 +08:00
parent f0a450b2e5
commit 641e738033
7 changed files with 416 additions and 22 deletions

View File

@ -2,12 +2,14 @@ package manage
import (
"SciencesServer/app/api/admin/model"
"SciencesServer/app/basic/config"
"SciencesServer/app/basic/controller"
model2 "SciencesServer/app/common/model"
"SciencesServer/app/session"
"errors"
)
// Research 研究机构
type Research struct {
*session.Admin
}
@ -100,8 +102,63 @@ func (c *Research) Select(tenantID uint64) ([]*ResearchSelect, error) {
return list, nil
}
func (c *Research) Form() {
// Form 数据操作
func (c *Research) Form(params *BasicParams, other *config.IdentityForResearch) error {
mManageResearch := model.NewManageResearch()
if params.ID > 0 {
mManageResearch.ID = params.ID
isExist, err := model2.FirstField(mManageResearch.ManageResearch, []string{"id", "name", "code", "tenant_id", "created_at"})
if err != nil {
return err
} else if !isExist {
return errors.New("操作错误,研究机构信息不存在或已被删除")
}
if c.TenantID > 0 {
if mManageResearch.TenantID != c.TenantID {
return errors.New("操作错误,无权限操作")
}
} else {
if mManageResearch.TenantID != params.TenantID {
if isExist, err = params.isExist(mManageResearch.ManageResearch, model2.NewWhere("tenant_id", params.TenantID),
model2.NewWhere("code", params.Code)); err != nil {
return err
} else if isExist {
return errors.New("操作错误,当前站点下已存在同一研究机构代码")
}
}
}
}
mManageResearch.TenantID = c.TenantID
mManageResearch.Image.Image = params.Image
mManageResearch.Name = params.Name
mManageResearch.Code = params.Code
mManageResearch.Area = model2.Area{
Province: params.Area.Province, City: params.Area.City, District: params.Area.District, Address: params.Area.Address,
}
mManageResearch.SetIndustryAttribute(params.Industrys)
mManageResearch.SetKeywordAttribute(params.Keywords)
mManageResearch.SetResearchAttribute(other.Researchs)
mManageResearch.Introduce = params.Introduce
if c.TenantID <= 0 {
mManageResearch.TenantID = params.TenantID
}
if mManageResearch.ID > 0 {
return model2.Updates(mManageResearch.ManageResearch, mManageResearch.ManageResearch)
}
mManageResearch.Name = params.Name
mManageResearch.Code = params.Code
mManageResearch.License = other.FilterLicense()
if isExist, err := params.isExist(mManageResearch.ManageResearch, model2.NewWhere("tenant_id", params.TenantID),
model2.NewWhere("code", params.Code)); err != nil {
return err
} else if isExist {
return errors.New("操作错误,当前站点下已存在同一研究机构代码")
}
return model2.Create(mManageResearch.ManageResearch)
}
// Detail 详细信息