12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*
- * @description: 安全巡检数据库操作相关
- * @Author: LanJianRong
- * @Date: 2020-11-20
- * @FilePath: \construction_management\dao\safe_dao.go
- */
- package dao
- import (
- "github.com/go-xorm/xorm"
- "go.mod/models"
- )
- //数据库操作引擎
- type SafeDao struct {
- engine *xorm.Engine
- }
- //获得一个DAO对象
- func NewSafeDao(engine *xorm.Engine) *SafeDao {
- return &SafeDao{
- engine: engine,
- }
- }
- func (d *SafeDao) FindById(id int) *models.CmSafe {
- data := &models.CmSafe{Id: id}
- ok, err := d.engine.Get(data)
- if ok && err == nil {
- return data
- } else {
- data.Id = 0
- return data
- }
- }
- // id获得数据
- func (d *SafeDao) GetListByBid(id int, pageNo int, pageSize int) ([]models.CmSafe, int64) {
- dataList := make([]models.CmSafe, 0)
- start := (pageNo - 1) * pageSize
- total, err := d.engine.
- Where("bidsection_id=?", id).
- Asc("id").
- Limit(pageSize, start).
- FindAndCount(&dataList)
- if err != nil {
- return dataList, 0
- }
- return dataList, total
- }
- // 插入单条记录
- func (d *SafeDao) InsertRecord(data models.CmSafe) (bool, error) {
- affected, err := d.engine.InsertOne(data)
- return affected > 0, err
- }
- // 删除记录
- func (d *SafeDao) DeleteRecord(id int) (bool, error) {
- safe := models.CmSafe{}
- affected, err := d.engine.Id(id).Delete(safe)
- return affected > 0, err
- }
- // 根据code获取记录
- func (d *SafeDao) FindByCode(code string) bool {
- data := &models.CmSafe{Code: code}
- has, _ := d.engine.Get(data)
- return has
- }
- // 筛选出应用了当前规则的条数
- func (d *SafeDao) CountRuleCode(bid int) (int64, error) {
- data := &models.CmSafe{}
- total, err := d.engine.Where("`bidsection_id` = ?", bid).Count(data)
- if err != nil {
- total = 0
- }
- return total, err
- }
- // 更改status
- func (d *SafeDao) ChangeStatus(id int, status int, times int) error {
- data := &models.CmSafe{Status: status, Times: times}
- _, err := d.engine.ID(id).Update(data)
- return err
- }
|