| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | /* * @description:工程项目数据库操作 * @Author: CP * @Date: 2020-09-03 14:40:06 * @FilePath: \construction_management\dao\project_dao.go */package daoimport (	"errors"	"github.com/go-xorm/xorm"	"go.mod/models")//数据库操作引擎type ProjectDao struct {	engine *xorm.Engine}//获得一个DAO对象func NewProjectDao(engine *xorm.Engine) *ProjectDao {	return &ProjectDao{		engine: engine,	}}//CmProjectAccount 设置的值获得数据// func (d *ProjectDao) Get(data *models.CmProject) {// 	//data := data// 	ok, err := d.engine.Get(data)// 	if ok && err == nil {// 		//return nil// 	} else {// 		data.Id = 0// 		//return err// 	}// }func (d *ProjectDao) GetPage(page int, size int) []models.CmProject {	datalist := make([]models.CmProject, 0)	if page == 1 {		page = 0	} else {		page--		page = page * size	}	// Where("project_id = ? and bidsection_id =? and contracts_id=?", projectId, bidsectionId, contractsId).	_ = d.engine.		Limit(size, page).		Find(&datalist)	return datalist}//设置的值获得数据func (d *ProjectDao) GetCode(code string) *models.CmProject {	data := &models.CmProject{}	ok, err := d.engine.		Where("code = ?", code).		Get(data)	if ok && err == nil {		return data	} else {		data.Id = 0		return data	}}// 获得一组项目数据func (d *ProjectDao) GetListByCode(code string) []models.CmProject {	datalist := make([]models.CmProject, 0)	err := d.engine.		Where("code = ?", code).		Desc("id").		Find(&datalist)	if err != nil {		return datalist	} else {		return datalist	}}// 新增func (d *ProjectDao) Add(data *models.CmProject) error {	_, err := d.engine.Insert(data)	return err}//更新func (d *ProjectDao) Update(data *models.CmProject, columns []string) error {	//_, err := d.engine.Id(data.Id).MustCols(columns...).Update(data)	is, err := d.engine.Where("id = ?  ", data.Id).MustCols(columns...).Update(data)	if is == 0 {		return errors.New("未找到项目")	}	return err}func (d *ProjectDao) FindById(id int) (*models.CmProject, error) {	data := &models.CmProject{}	_, err := d.engine.Where("id=?", id).Get(data)	return data, err}
 |