enhance(charge):服务延期记录序号改为自增长。

This commit is contained in:
徐涛 2022-08-15 18:31:55 +08:00
parent 0d8a743283
commit d1806d8cc6
2 changed files with 15 additions and 16 deletions

View File

@ -8,7 +8,7 @@ import (
type UserCharge struct { type UserCharge struct {
Created `xorm:"extends"` Created `xorm:"extends"`
Seq int64 `xorm:"bigint pk not null" json:"seq"` Seq int64 `xorm:"bigint pk not null autoincr" json:"seq"`
UserId string `xorm:"varchar(120) not null" json:"userId"` UserId string `xorm:"varchar(120) not null" json:"userId"`
Fee decimal.NullDecimal `xorm:"numeric(12,2)" json:"fee"` Fee decimal.NullDecimal `xorm:"numeric(12,2)" json:"fee"`
Discount decimal.NullDecimal `xorm:"numeric(5,4)" json:"discount"` Discount decimal.NullDecimal `xorm:"numeric(5,4)" json:"discount"`

View File

@ -5,7 +5,6 @@ import (
"electricity_bill_calc/global" "electricity_bill_calc/global"
"electricity_bill_calc/model" "electricity_bill_calc/model"
"electricity_bill_calc/repository" "electricity_bill_calc/repository"
"electricity_bill_calc/utils"
"time" "time"
"xorm.io/builder" "xorm.io/builder"
@ -17,25 +16,25 @@ type _ChargeService struct{}
var ChargeService _ChargeService var ChargeService _ChargeService
func (c _ChargeService) CreateChargeRecord(charge *model.UserCharge, extendWithIgnoreSettle bool) error { func (c _ChargeService) CreateChargeRecord(charge *model.UserCharge, extendWithIgnoreSettle bool) error {
var seqs = make([]int64, 0) // var seqs = make([]int64, 0)
err := global.DBConn.Table(&model.UserCharge{}).Cols("seq").Find(&seqs) // err := global.DBConn.Table(&model.UserCharge{}).Cols("seq").Find(&seqs)
if err != nil { // if err != nil {
return err // return err
} // }
maxSeq := utils.Reduce(seqs, 0, func(acc, elem int64) int64 { // maxSeq := utils.Reduce(seqs, 0, func(acc, elem int64) int64 {
if elem > acc { // if elem > acc {
return elem // return elem
} else { // } else {
return acc // return acc
} // }
}) // })
tx := global.DBConn.NewSession() tx := global.DBConn.NewSession()
defer tx.Close() defer tx.Close()
if err := tx.Begin(); err != nil { if err := tx.Begin(); err != nil {
return err return err
} }
charge.Seq = maxSeq + 1 charge.Seq = 0
_, err = tx.Insert(charge) _, err := tx.Insert(charge)
if err != nil { if err != nil {
tx.Rollback() tx.Rollback()
return err return err