feat: update metas
This commit is contained in:
@@ -186,6 +186,29 @@ func (m *ordersModel) Create(ctx context.Context, userId, postId int64) (*model.
|
||||
return model, nil
|
||||
}
|
||||
|
||||
func (m *ordersModel) SetMeta(ctx context.Context, id int64, metaFunc func(fields.OrderMeta) fields.OrderMeta) error {
|
||||
order, err := m.GetByID(ctx, id)
|
||||
if err != nil {
|
||||
m.log.Errorf("error getting order by ID: %v", err)
|
||||
return errors.Wrap(err, "failed to get order")
|
||||
}
|
||||
|
||||
tbl := table.Orders
|
||||
stmt := tbl.
|
||||
UPDATE(tbl.Meta).
|
||||
SET(fields.ToJson(metaFunc(order.Meta.Data))).
|
||||
WHERE(
|
||||
tbl.ID.EQ(Int64(id)),
|
||||
)
|
||||
m.log.Infof("sql: %s", stmt.DebugSql())
|
||||
|
||||
if _, err := stmt.ExecContext(ctx, db); err != nil {
|
||||
m.log.Errorf("error set order meta: %v", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteByID soft deletes an order by ID
|
||||
func (m *ordersModel) SetStatus(ctx context.Context, orderNo string, status fields.OrderStatus) error {
|
||||
tbl := table.Orders
|
||||
|
||||
Reference in New Issue
Block a user