electricity_bill_calc_service/repository/park.go

42 lines
984 B
Go

package repository
import (
"electricity_bill_calc/exceptions"
"electricity_bill_calc/global"
"electricity_bill_calc/model"
"xorm.io/builder"
)
type _ParkRepository struct{}
var ParkRepo _ParkRepository
func (_ParkRepository) ListAllParkBelongsTo(uid string) ([]model.Park, error) {
parks := make([]model.Park, 0)
err := global.DBConn.
Where(builder.Eq{"user_id": uid}).
NoAutoCondition().
Find(&parks)
if err != nil {
return make([]model.Park, 0), err
}
return parks, nil
}
func (_ParkRepository) FetchParkDetail(pid string) (*model.Park, error) {
var park = &model.Park{}
has, err := global.DBConn.ID(pid).NoAutoCondition().Get(park)
if err != nil {
return nil, err
}
if !has {
return nil, exceptions.NewNotFoundError("未找到符合条件的园区记录。")
}
return park, nil
}
func (_ParkRepository) EnsurePark(uid, pid string) (bool, error) {
return global.DBConn.Table(&model.Park{}).Where(builder.Eq{"user_id": uid, "id": pid}).Exist()
}