@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
);