123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- * @description: 安全巡检数据库操作相关
- * @Author: LanJianRong
- * @Date: 2020-11-20
- * @FilePath: \construction_management\dao\safe_dao.go
- */
- package dao
- import (
- "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
- }
|