fix a bug: user repeatly update bcode, apply amount should not change