From 01e944cb5a92ae8770d816beda502f1613fd3c2c Mon Sep 17 00:00:00 2001 From: ZiHangQin <1420014281@qq.com> Date: Thu, 10 Aug 2023 16:12:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(meter):=20=E4=BF=AE=E6=94=B9=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BD=93MeterCreationForm=E4=B8=AD=E7=9A=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=90=8D=E7=A7=B0=EF=BC=8C=E5=92=8C=E6=AD=A4=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BD=93=E7=9A=84=E8=B0=83=E7=94=A8=E5=A4=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/meter.go | 2 ++ repository/meter.go | 5 +++-- service/meter.go | 10 +++++----- settings.yaml | 4 ++-- vo/meter.go | 20 ++++++++++---------- 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/controller/meter.go b/controller/meter.go index b06e949..a748fee 100644 --- a/controller/meter.go +++ b/controller/meter.go @@ -100,6 +100,8 @@ func createNewMeterManually(c *fiber.Ctx) error { meterLog.Error("无法手动添加一条0.4kV表计记录,无法解析表计创建表单", zap.Error(err)) return result.NotAccept(err.Error()) } + fmt.Println(creationForm) + fmt.Println(creationForm.Reading.ReadAt) if err := service.MeterService.CreateMeterRecord(parkId, &creationForm); err != nil { meterLog.Error("无法手动添加一条0.4kV表计记录,无法创建表计记录", zap.Error(err)) return result.NotAccept(err.Error()) diff --git a/repository/meter.go b/repository/meter.go index 01ce54e..1808b43 100644 --- a/repository/meter.go +++ b/repository/meter.go @@ -243,7 +243,8 @@ func (mr _MeterRepository) FetchMeterDetail(pid, code string) (*model.MeterDetai // 创建一条新的表计信息 func (mr _MeterRepository) CreateMeter(tx pgx.Tx, ctx context.Context, pid string, meter vo.MeterCreationForm) (bool, error) { mr.log.Info("创建一条新的表计信息", zap.String("park id", pid), zap.String("meter code", meter.Code)) - timeNow := types.Now() + //timeNow := types.Now() + fmt.Println(meter.Reading.ReadAt) meterSql, meterArgs, _ := mr.ds. Insert(goqu.T("meter_04kv")). Cols( @@ -252,7 +253,7 @@ func (mr _MeterRepository) CreateMeter(tx pgx.Tx, ctx context.Context, pid strin ). Vals( goqu.Vals{pid, meter.Code, meter.Address, meter.Ratio, meter.Seq, meter.MeterType, meter.Building, meter.OnFloor, meter.Area, meter.Enabled, - timeNow, timeNow, timeNow, + meter.Reading.ReadAt, meter.Reading.ReadAt, meter.Reading.ReadAt, }, ). Prepared(true).ToSQL() diff --git a/service/meter.go b/service/meter.go index 372c1a8..ee3818f 100644 --- a/service/meter.go +++ b/service/meter.go @@ -49,7 +49,7 @@ func (ms _MeterService) CreateMeterRecord(pid string, form *vo.MeterCreationForm return err } - ok, err = repository.MeterRepository.RecordReading(tx, ctx, pid, form.Code, form.MeterType, form.Ratio, &form.MeterReadingForm) + ok, err = repository.MeterRepository.RecordReading(tx, ctx, pid, form.Code, form.MeterType, form.Ratio, &form.Reading) if err != nil { ms.log.Error("无法记录表计读数。", zap.Error(err)) tx.Rollback(ctx) @@ -222,7 +222,7 @@ func (ms _MeterService) BatchImportMeters(pid string, file *multipart.FileHeader Building: element.Building, OnFloor: element.OnFloor, Area: element.Area, - MeterReadingForm: vo.MeterReadingForm{ + Reading: vo.MeterReadingForm{ ReadAt: &element.ReadAt, Overall: element.Overall, Critical: element.Critical.Decimal, @@ -257,7 +257,7 @@ func (ms _MeterService) BatchImportMeters(pid string, file *multipart.FileHeader } // 步骤5:将全部抄表信息保存进入数据库 for _, record := range meterCreationForms { - _, err := repository.MeterRepository.RecordReading(tx, ctx, pid, record.Code, record.MeterType, record.Ratio, &record.MeterReadingForm) + _, err := repository.MeterRepository.RecordReading(tx, ctx, pid, record.Code, record.MeterType, record.Ratio, &record.Reading) if err != nil { ms.log.Error("无法在数据插入阶段保存抄表信息。", zap.String("meter code", record.Code), zap.Error(err)) tx.Rollback(ctx) @@ -372,7 +372,7 @@ func (ms _MeterService) ReplaceMeter( Building: oldMeter.Building, OnFloor: oldMeter.OnFloor, Area: oldMeter.Area, - MeterReadingForm: *newMeterReading, + Reading: *newMeterReading, } // 步骤7:将新表计写入系统 @@ -389,7 +389,7 @@ func (ms _MeterService) ReplaceMeter( } // 步骤8:将新表计的读数写入系统 - ok, err = repository.MeterRepository.RecordReading(tx, ctx, pid, newMeterCode, newMeterCreationForm.MeterType, newMeterCreationForm.Ratio, &newMeterCreationForm.MeterReadingForm) + ok, err = repository.MeterRepository.RecordReading(tx, ctx, pid, newMeterCode, newMeterCreationForm.MeterType, newMeterCreationForm.Ratio, &newMeterCreationForm.Reading) switch { case err != nil: ms.log.Error("无法将新表计的读数写入系统。", zap.Error(err)) diff --git a/settings.yaml b/settings.yaml index 84db9ed..7620533 100644 --- a/settings.yaml +++ b/settings.yaml @@ -12,9 +12,9 @@ Server: ReadTimeout: 60 WriteTimeout: 60 Redis: - Host: 192.168.88.129 + Host: 127.0.0.1 Port: 6379 - Password: 123456 + Password: DB: 1 Service: MaxSessionLife: 2h diff --git a/vo/meter.go b/vo/meter.go index 6018b90..0c90872 100644 --- a/vo/meter.go +++ b/vo/meter.go @@ -7,16 +7,16 @@ import ( ) type MeterCreationForm struct { - Code string `json:"code"` - Address *string `json:"address"` - Ratio decimal.Decimal `json:"ratio"` - Seq int64 `json:"seq"` - MeterType int16 `json:"type"` - Building *string `json:"building"` - OnFloor *string `json:"onFloor"` - Area decimal.NullDecimal `json:"area"` - Enabled bool `json:"enabled"` - MeterReadingForm `json:"-"` + Code string `json:"code"` + Address *string `json:"address"` + Ratio decimal.Decimal `json:"ratio"` + Seq int64 `json:"seq"` + MeterType int16 `json:"type"` + Building *string `json:"building"` + OnFloor *string `json:"onFloor"` + Area decimal.NullDecimal `json:"area"` + Enabled bool `json:"enabled"` + Reading MeterReadingForm `json:"reading"` } type MeterModificationForm struct {