| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | /* * @description: 安全巡检数据库操作相关 * @Author: LanJianRong * @Date: 2020-11-20 * @FilePath: \construction_management\dao\safe_dao.go */package daoimport (	"fmt"	"github.com/go-xorm/xorm"	"go.mod/models"	"go.mod/web/viewmodels")// 数据库操作引擎type AnnexDao struct {	engine *xorm.Engine}// 获得一个DAO对象func NewAnnexDao(engine *xorm.Engine) *AnnexDao {	return &AnnexDao{		engine: engine,	}}// 获取附件列表func (d *AnnexDao) GetList(dataType int, dataId int, pageNo int, pageSize int) ([]viewmodels.AnnexListView, int64) {	dataList := make([]viewmodels.AnnexListView, 0)	start := (pageNo - 1) * pageSize	total, err := d.engine.Table("`cm_annex` as f").		Select("f.`id`, f.`account_id`, f.`create_time`, f.`name` as file_name, f.`oss_url` as file_path, a.`name` as account_name").		Join("LEFT", "`cm_project_account` as a", "a.id = f.account_id").		Where("f.data_id = ? and f.data_type = ?", dataId, dataType).		Limit(pageSize, start).		FindAndCount(&dataList)	if err != nil {		return dataList, 0	}	return dataList, total}// 获取总数func (d *AnnexDao) GetCount(dataType int, dataId int) (int64, error) {	file := models.CmAnnex{DataType: dataType, DataId: dataId}	total, err := d.engine.Count(&file)	fmt.Println(err)	if err != nil {		return 0, err	}	return total, nil}// 批量插入数据func (d *AnnexDao) InsertByList(data []models.CmAnnex) error {	_, err := d.engine.Insert(&data)	// fmt.Println("__________________________________", data)	return err}// 删除数据(记录id)func (d *AnnexDao) DeleteById(id int) error {	file := models.CmAnnex{Id: id}	_, err := d.engine.Delete(&file)	return err}
 |