package service import ( "electricity_bill_calc/config" "electricity_bill_calc/global" "electricity_bill_calc/model" "xorm.io/builder" ) type _Meter04kVService struct{} var Meter04kVService _Meter04kVService func (_Meter04kVService) ListMeterDetail(park, keyword string, page int) ([]model.Meter04KV, int64, error) { cond := builder.NewCond() if len(keyword) > 0 { cond = cond.And( builder.Like{"address", keyword}. Or(builder.Like{"customer_name", keyword}). Or(builder.Like{"code", keyword}). Or(builder.Like{"contact_name", keyword}). Or(builder.Like{"contact_phone", keyword})) } total, err := global.DBConn.Where(cond).Count(new(model.Meter04KV)) if err != nil { return make([]model.Meter04KV, 0), -1, err } var meters = make([]model.Meter04KV, 0) startItem := (page - 1) * config.ServiceSettings.ItemsPageSize err = global.DBConn. Where(cond). Limit(config.ServiceSettings.ItemsPageSize, startItem). Find(&meters) return meters, total, err }