db.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package meterCalcParam
  2. import (
  3. "MeterService/core/db"
  4. "database/sql"
  5. )
  6. //type SqlDb interface {
  7. // GetList() ([]interface{}, error)
  8. // AddOrUpdate(v interface{}) error
  9. //}
  10. type DbMeterCalcParam struct {
  11. Db *db.MyDB
  12. }
  13. func (m *DbMeterCalcParam) GetList() ([]interface{}, error) {
  14. array := make([]interface{}, 0)
  15. rows, err := m.Db.DB.Query("SELECT mcp.id as Id, mcp.time as Time, mcp.sum_power as SumPower" +
  16. ", mcp.max_power as MaxPower, mcp.count as Count, mcp.tps as Tps, mcp.tqs as Tqs, mcp.fps as Fps, mcp.fqs as Fqs, mcp.tpe as Tpe, mcp.tqe as Tqe" +
  17. ", mcp.fpe as Fpe, mcp.fqe as Fqe FROM t_meter_calc_param AS mcp")
  18. defer func(rows *sql.Rows) {
  19. _ = rows.Close()
  20. }(rows)
  21. for rows.Next() {
  22. //var param dataStruct.MeterCalcParam
  23. //err = rows.Scan(&param.Id, &param.Time, &param.PowerRate.SumPower, &param.PowerRate.MaxPower, &param.PowerRate.Count,
  24. // &param.DayTotalEnergy.Tp, &param.DayTotalEnergy.Tq, &param.DayTotalEnergy.Fp, &param.DayTotalEnergy.Fq,
  25. // &param.TotalEnergy.Fp, &param.TotalEnergy.Fq, &param.TotalEnergy.Tp, &param.TotalEnergy.Tq)
  26. var param MeterCalcParam
  27. err = rows.Scan(&param.Id, &param.Time, &param.SumPower, &param.MaxPower, &param.Count, &param.Tps, &param.Tqs, &param.Fps, &param.Fqs, &param.Tpe, &param.Tqe, &param.Fpe, &param.Fqe)
  28. if err != nil {
  29. return nil, err
  30. }
  31. array = append(array, &param)
  32. }
  33. return array, nil
  34. }
  35. func (m *DbMeterCalcParam) AddOrUpdate(v interface{}) error {
  36. d := v.(*MeterCalcParam)
  37. ret, ok := m.Db.Query("SELECT id FROM t_meter_calc_param WHERE id=?", d.Id)
  38. if ok || len(ret) > 0 {
  39. _, err := m.Db.Exec("UPDATE t_meter_calc_param SET Time=?, sum_power=?, max_power=?, count=?, tps=?, tqs=?, fps=?, fqs=?, tpe=?, tqe=?, fpe=?, fqe=? WHERE Id=?", d.Time, d.SumPower, d.MaxPower, d.Count, d.Tps, d.Tqs, d.Fps, d.Fqs, d.Tpe, d.Tqe, d.Fpe, d.Fqe, d.Id)
  40. return err
  41. } else {
  42. _, err := m.Db.Exec("INSERT INTO t_meter_calc_param(id, time, sum_power, max_power, count, tps, tqs, fps, fqs, tpe, tqe, fpe, fqe) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)", d.Id, d.Time, d.SumPower, d.MaxPower, d.Count, d.Tps, d.Tqs, d.Fps, d.Fqs, d.Tpe, d.Tqe, d.Fpe, d.Fqe)
  43. return err
  44. }
  45. }
  46. func NewMeterCalcParamDb() *DbMeterCalcParam {
  47. return &DbMeterCalcParam{
  48. Db: db.GetDb(),
  49. }
  50. }