38 lines
810 B
Go
38 lines
810 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) {
|
|
var parks []model.Park
|
|
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
|
|
}
|