@Query("select sum(r.amount) from RechargeOrder r where 1=1 " + "AND (case when (:status is null) then true when(:status=r.status) then true else false end)=true " + "AND (case when (:walletType is null) then true when(:walletType=r.walletType) then true else false end)=true " + "AND (case when (:payType is null) then true when(:payType=r.payType) then true else false end)=true " + "AND (case when (:userId is null) then true when(:payType=r.userId) then true else false end)=true " + "AND (case when (:rechargeType is null) then true when(:rechargeType=r.rechargeType) then true else false end)=true " + "AND (case when (:successTimeBegin is null) then true when(:successTimeBegin<=r.successTime) then true else false end)=true " + "AND (case when (:successTimeEnd is null) then true when(:successTimeEnd>=r.successTime) then true else false end)=true " + "") Integer sumAmount( @Param("status") Integer status ,@Param("walletType") Integer walletType ,@Param("payType") Integer payType ,@Param("userId") Integer userId ,@Param("rechargeType") Integer rechargeType ,@Param("successTimeBegin") Date successTimeBegin ,@Param("successTimeEnd") Date successTimeEnd );