diff --git a/service/maintenance_fee.go b/service/maintenance_fee.go new file mode 100644 index 0000000..99af8d1 --- /dev/null +++ b/service/maintenance_fee.go @@ -0,0 +1,38 @@ +package service + +import ( + "electricity_bill_calc/exceptions" + "electricity_bill_calc/global" + "electricity_bill_calc/model" + + "github.com/google/uuid" + "xorm.io/builder" +) + +type _MaintenanceFeeService struct{} + +var MaintenanceFeeService _MaintenanceFeeService + +func (_MaintenanceFeeService) ListMaintenanceFees(pid []string) ([]model.MaintenanceFee, error) { + cond := builder.NewCond() + if len(pid) > 0 { + cond = cond.And(builder.Eq{"park_id": pid}) + } else { + return make([]model.MaintenanceFee, 0), exceptions.NewIllegalArgumentsError("必须给定所要请求的至少一个园区", "park_id") + } + var fees = make([]model.MaintenanceFee, 0) + err := global.DBConn.Where(cond).Desc("created_at").Find(&fees) + if err != nil { + return make([]model.MaintenanceFee, 0), err + } + return fees, nil +} + +func (_MaintenanceFeeService) CreateMaintenanceFeeRecord(fee model.MaintenanceFee) error { + fee.Id = uuid.New().String() + _, err := global.DBConn.Insert(fee) + if err != nil { + return err + } + return nil +}