River repairs to cost millions