code simplification
This commit is contained in:
parent
be80307bde
commit
cf2e217030
7 changed files with 47 additions and 73 deletions
|
|
@ -142,59 +142,59 @@ func (s *Store) GetCakeCounts(from, to time.Time) ([]models.CakeCount, error) {
|
|||
return out, rows.Err()
|
||||
}
|
||||
|
||||
func (s *Store) UpdateOrderContents(tx *sql.Tx, newOrder models.Order) error {
|
||||
func (s *Store) UpdateOrderContents(tx *sql.Tx, order models.Order) error {
|
||||
q := "delete from ordered_cake where customer_order = ?;"
|
||||
_, err := tx.Exec(q, newOrder.ID)
|
||||
_, err := tx.Exec(q, order.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
q = "insert into ordered_cake(customer_order, cake, amount) values (?,?,?);"
|
||||
for _, e := range newOrder.Cakes {
|
||||
_, err := tx.Exec(q, newOrder.ID, e.ID, e.Amount)
|
||||
for _, e := range order.Cakes {
|
||||
_, err := tx.Exec(q, order.ID, e.ID, e.Amount)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return s.SaveSpecialCakes(tx, newOrder.ID, newOrder.SpecialCakes)
|
||||
return s.SaveSpecialCakes(tx, order.ID, order.SpecialCakes)
|
||||
}
|
||||
|
||||
func (s *Store) UpdateOrder(newOrder models.Order) error {
|
||||
_, err := s.GetOrder(newOrder.ID)
|
||||
func (s *Store) UpdateOrder(order models.Order) error {
|
||||
_, err := s.GetOrder(order.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
q := "update customer_order set name = ?, surname = ?, phone = ?, location = ?, order_date = ?, delivery_date = ?, status = ?, paid = ? where id = ?;"
|
||||
|
||||
accepted := newOrder.Accepted.Format(config.DateTimeFormat)
|
||||
date := newOrder.Date.Format(config.DateTimeFormat)
|
||||
accepted := order.Accepted.Format(config.DateTimeFormat)
|
||||
date := order.Date.Format(config.DateTimeFormat)
|
||||
|
||||
tx, err := s.db.Begin()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = tx.Exec(q, newOrder.Name, newOrder.Surname, newOrder.Phone, newOrder.Location, accepted, date, newOrder.Status, newOrder.Paid, newOrder.ID)
|
||||
_, err = tx.Exec(q, order.Name, order.Surname, order.Phone, order.Location, accepted, date, order.Status, order.Paid, order.ID)
|
||||
if err != nil {
|
||||
_ = tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
err = s.UpdateOrderContents(tx, newOrder)
|
||||
err = s.UpdateOrderContents(tx, order)
|
||||
if err != nil {
|
||||
_ = tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
err = tx.Commit()
|
||||
log.Printf("UPDATE order id=%d name=%q status=%q", newOrder.ID, newOrder.Name, newOrder.Status)
|
||||
log.Printf("UPDATE order id=%d name=%q status=%q", order.ID, order.Name, order.Status)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *Store) SaveOrder(newOrder models.Order) (int, error) {
|
||||
if newOrder.ID != 0 {
|
||||
return newOrder.ID, s.UpdateOrder(newOrder)
|
||||
func (s *Store) SaveOrder(order models.Order) (int, error) {
|
||||
if order.ID != 0 {
|
||||
return order.ID, s.UpdateOrder(order)
|
||||
}
|
||||
q := "insert into customer_order(name, surname, phone, location, order_date, delivery_date, status, paid) values (?, ?, ?, ?, ?, ?, ?, ?);"
|
||||
|
||||
|
|
@ -203,9 +203,9 @@ func (s *Store) SaveOrder(newOrder models.Order) (int, error) {
|
|||
return 0, err
|
||||
}
|
||||
|
||||
accepted := newOrder.Accepted.Format(config.DateTimeFormat)
|
||||
date := newOrder.Date.Format(config.DateTimeFormat)
|
||||
result, err := tx.Exec(q, newOrder.Name, newOrder.Surname, newOrder.Phone, newOrder.Location, accepted, date, newOrder.Status, newOrder.Paid)
|
||||
accepted := order.Accepted.Format(config.DateTimeFormat)
|
||||
date := order.Date.Format(config.DateTimeFormat)
|
||||
result, err := tx.Exec(q, order.Name, order.Surname, order.Phone, order.Location, accepted, date, order.Status, order.Paid)
|
||||
if err != nil {
|
||||
_ = tx.Rollback()
|
||||
return 0, err
|
||||
|
|
@ -216,15 +216,15 @@ func (s *Store) SaveOrder(newOrder models.Order) (int, error) {
|
|||
_ = tx.Rollback()
|
||||
return 0, err
|
||||
}
|
||||
newOrder.ID = int(id)
|
||||
order.ID = int(id)
|
||||
|
||||
err = s.UpdateOrderContents(tx, newOrder)
|
||||
err = s.UpdateOrderContents(tx, order)
|
||||
if err != nil {
|
||||
_ = tx.Rollback()
|
||||
return 0, err
|
||||
}
|
||||
|
||||
err = tx.Commit()
|
||||
log.Printf("INSERT order id=%d name=%q status=%q", newOrder.ID, newOrder.Name, newOrder.Status)
|
||||
return newOrder.ID, err
|
||||
log.Printf("INSERT order id=%d name=%q status=%q", order.ID, order.Name, order.Status)
|
||||
return order.ID, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue