You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.8 KiB
58 lines
2.8 KiB
package com.hfkj.dao;
|
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
import org.apache.ibatis.annotations.Select;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* mapper扩展类
|
|
*/
|
|
public interface BsGasOrderSpreadMapperExt {
|
|
|
|
@Select(" select " +
|
|
" DATE_SUB(CURDATE(), INTERVAL 1 DAY) settleDate," +
|
|
" case when sum(totalAmount) is not null then sum(totalAmount) else 0 end settleAmount" +
|
|
" from (" +
|
|
" select " +
|
|
" sum(b.gains_rebate_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE_FORMAT(a.pay_time, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and a.`status` = 2 and b.gains_rebate_user_id = #{param.userId}" +
|
|
" union all" +
|
|
" select " +
|
|
" sum(b.gains_rebate_one_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE_FORMAT(a.pay_time, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and a.`status` = 2 and b.gains_rebate_one_user_id = #{param.userId}" +
|
|
" union all" +
|
|
" select " +
|
|
" sum(b.gains_rebate_two_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE_FORMAT(a.pay_time, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and a.`status` = 2 and b.gains_rebate_two_user_id = #{param.userId}" +
|
|
" ) a")
|
|
HashMap<String,Object> querySettleOrderList(@Param("param") Map<String,Object> param);
|
|
|
|
@Select(" select " +
|
|
" case when sum(totalAmount) is not null then sum(totalAmount) else 0 end" +
|
|
" from (" +
|
|
" select " +
|
|
" sum(b.gains_rebate_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_user_id = #{userId}" +
|
|
" union all" +
|
|
" select " +
|
|
" sum(b.gains_rebate_one_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_one_user_id = #{userId}" +
|
|
" union all" +
|
|
" select " +
|
|
" sum(b.gains_rebate_two_amount) totalAmount" +
|
|
" from bs_gas_order a LEFT JOIN bs_gas_order_spread b on a.order_no = b.order_no" +
|
|
" WHERE DATE(a.pay_time) = CURDATE() and a.`status` = 2 and b.gains_rebate_two_user_id = #{userId}" +
|
|
" ) a")
|
|
BigDecimal queryNotCashOutAmount(@Param("userId") Long userId);
|
|
}
|
|
|
|
|
|
|