forked from free-lancers/electricity_bill_calc_service
feat(meter):基本完成表计修改接口。
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"electricity_bill_calc/model"
|
||||
|
||||
"xorm.io/builder"
|
||||
"xorm.io/xorm"
|
||||
)
|
||||
|
||||
type _Meter04kVService struct{}
|
||||
@@ -46,3 +47,61 @@ func (_Meter04kVService) Get04kVMeterDetail(park, code string) (*model.Meter04KV
|
||||
}
|
||||
return meter, nil
|
||||
}
|
||||
|
||||
func (_Meter04kVService) insertNewMeter(tx *xorm.Session, meter model.Meter04KV) error {
|
||||
_, err := tx.Insert(meter)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (_Meter04kVService) updateMeter(tx *xorm.Session, meter model.Meter04KV) error {
|
||||
_, err := tx.
|
||||
Where(builder.Eq{"code": meter.Code, "park_id": meter.ParkId}).
|
||||
Cols("address", "customer_name", "contact_name", "contact_phone", "ratio", "seq", "public_meter", "dilute", "enabled").
|
||||
NoAutoCondition().
|
||||
Update(meter)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (m _Meter04kVService) CreateSingleMeter(meter model.Meter04KV) error {
|
||||
tx := global.DBConn.NewSession()
|
||||
if err := tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
defer tx.Close()
|
||||
|
||||
err := m.insertNewMeter(tx, meter)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = tx.Commit()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m _Meter04kVService) UpdateSingleMeter(meter *model.Meter04KV) error {
|
||||
tx := global.DBConn.NewSession()
|
||||
if err := tx.Begin(); err != nil {
|
||||
return err
|
||||
}
|
||||
defer tx.Close()
|
||||
|
||||
err := m.updateMeter(tx, *meter)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = tx.Commit()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user