1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * @description: 标段-数据库操作
- * @Author: CP
- * @Date: 2020-09-28 10:35:56
- * @FilePath: \construction_management\dao\bidsection_dao.go
- */
- package dao
- import (
- "errors"
- "time"
- "github.com/go-xorm/xorm"
- "go.mod/models"
- )
- //数据库操作引擎
- type BidsectionDao struct {
- engine *xorm.Engine
- }
- //获得一个DAO对象
- func NewBidsectionDao(engine *xorm.Engine) *BidsectionDao {
- return &BidsectionDao{
- engine: engine,
- }
- }
- //id获得数据
- func (d *BidsectionDao) Get(id int, projectId int) *models.CmBidsection {
- data := &models.CmBidsection{Id: id, ProjectId: projectId}
- //Get取到值后,会自动赋值到data中
- _, err := d.engine.Get(data)
- if err == nil {
- return data
- } else {
- data.Id = 0
- return data
- }
- }
- //更新
- func (d *BidsectionDao) Update(data *models.CmBidsection, columns []string) error {
- _, err := d.engine.Id(data.Id).MustCols(columns...).Update(data)
- return err
- }
- //创建
- func (d *BidsectionDao) Create(data *models.CmTree) error {
- session := d.engine.NewSession()
- defer session.Close()
- err := session.Begin()
- if err != nil {
- return errors.New("创建标段出错-db")
- }
- // 创建标段
- bidsection := &models.CmBidsection{}
- bidsection.ProjectId = data.ProjectId
- bidsection.Name = data.Name
- bidsection.CreateTime = time.Now()
- bidsection.DealTp = "0"
- bidsection.TotalPrice = "0"
- _, err = session.Insert(bidsection)
- if err != nil {
- session.Rollback()
- return errors.New("标段创建不正确")
- }
- // 创建标段在树结构中的联系
- data.BidsectionId = bidsection.Id
- data.ContractsIncome = "0"
- data.ContractsPaid = "0"
- data.ContractsPay = "0"
- data.ContractsReturned = "0"
- data.ContractDeductionTotal = "0"
- _, err = session.Insert(data)
- if err != nil {
- session.Rollback()
- return errors.New("创建标段关系 出错-db")
- }
- err = session.Commit()
- if err != nil {
- session.Rollback()
- return errors.New("创建标段出错-db")
- }
- return nil
- }
|