delete useless codes
delete useless codes
delete useless codes
format date
change static function
extrat hasExistPromotion function
add exception test