/* * @description: 合同数据相关操作 * @Author: CP * @Date: 2020-10-27 11:28:24 * @FilePath: \construction_management\services\contract_service.go */ package services import ( "log" "github.com/kataras/iris/v12" "go.mod/dao" "go.mod/datasource" "go.mod/web/viewmodels" ) //定义项目用户Service接口 type ContractService interface { ValidRuleDepth(ctx iris.Context) (*viewmodels.TreeSectionContract, error) ValidRuleTemplate(ctx iris.Context) (*viewmodels.TreeSectionContract, error) ValidRuleSectionAdd(ctx iris.Context) (*viewmodels.TreeSectionContract, error) ValidRuleSectionDelete(ctx iris.Context) (*viewmodels.TreeSectionContract, error) ValidRuleGet(ctx iris.Context) (*viewmodels.TreeSectionContract, error) ValidRuleSerial(ctx iris.Context) (*viewmodels.TreeSectionContract, error) Get(treeId int, bidsectionId int, projectId int) *viewmodels.TreeSectionContract GetAll() GetSectionTreeContract(attribution string, bidsectionId int, projectId int) []*viewmodels.Contracts GetSecionTree(bidsectionId int, projectId int) *viewmodels.TreeSectionContract SetSection(templateNumber int, bidsectionId int, projectIdInt int) error SectionAdd(sectionData *viewmodels.TreeSectionContract, bidsectionId int, projectId int) error SectionSave(sectionData *viewmodels.TreeSectionContract, bidsectionId int, projectId int) error UpdateSerial(sectionData *viewmodels.TreeSectionContract, bidsectionId int, projectId int) error SectionDelete(treeId int, bidsectionId int, projectId int) error MoveDepth(sectionData *viewmodels.TreeSectionContract, bidsectionId int, projectId int) error MoveSerial(sectionData *viewmodels.TreeSectionContract, bidsectionId int, projectId int) error } //返回service操作类 type contractService struct { treeContractDao *dao.TreeContractDao // dao *dao.ProjectAccountDao // projectDao *dao.ProjectDao // bidsectionDao *dao.BidsectionDao // bidAccountDao *dao.BidAccountDao } //创建项目用户service func NewContractService() ContractService { return &contractService{ treeContractDao: dao.NewTreeContractDao(datasource.InstanceDbMaster()), // projectAccountDao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()), // projectDao: dao.NewProjectDao(datasource.InstanceDbMaster()), // bidsectionDao: dao.NewBidsectionDao(datasource.InstanceDbMaster()), // bidAccountDao: dao.NewBidAccountDao(datasource.InstanceDbMaster()), } } // 升级降级规则验证 func (s *contractService) ValidRuleDepth(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadJSON(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateDepth() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } // 模板规则验证 func (s *contractService) ValidRuleTemplate(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadJSON(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateTemplate() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } // 模板规则新增项目节 func (s *contractService) ValidRuleSectionAdd(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadJSON(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateSectionAdd() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } // 模板规则新增项目节 func (s *contractService) ValidRuleSectionDelete(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadForm(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateSectionDelete() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } func (s *contractService) ValidRuleGet(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadForm(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateSectionDelete() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } // 验证序号相关 func (s *contractService) ValidRuleSerial(ctx iris.Context) (*viewmodels.TreeSectionContract, error) { treeSectionVaild := &viewmodels.TreeSectionContract{} err := ctx.ReadForm(treeSectionVaild) if err != nil { log.Println("folder-ValidRule-ReadForm转换异常, error=", err) return treeSectionVaild, err } err = treeSectionVaild.ValidateSectionSerial() if err != nil { log.Println("参数验证错误, error=", err) return treeSectionVaild, err } return treeSectionVaild, nil } // 获得项目节 func (s *contractService) Get(treeId int, bidsectionId int, projectId int) *viewmodels.TreeSectionContract { // 1.获得项目节 section := s.treeContractDao.Get(treeId, bidsectionId, projectId) // 2.构造数据 sectionVM := s.makeSectionView(section) return sectionVM } // 获得合同标段内容 func (s *contractService) GetAll() { }