add shop_id in coupon model, because generate coupon need it