|
|
|
package com.hai.dao;
|
|
|
|
|
|
|
|
|
|
|
|
import com.hai.entity.HighOrder;
|
|
|
|
import com.hai.entity.OutRechargeOrder;
|
|
|
|
import com.hai.model.OrderCountModel;
|
|
|
|
import com.hai.model.OutOrderModel;
|
|
|
|
import com.hai.model.OutRechargeOrderModel;
|
|
|
|
import com.hai.model.OutUserOrderModel;
|
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
|
import org.apache.ibatis.annotations.Result;
|
|
|
|
import org.apache.ibatis.annotations.Results;
|
|
|
|
import org.apache.ibatis.annotations.Select;
|
|
|
|
import org.apache.ibatis.type.JdbcType;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* mapper扩展类
|
|
|
|
*/
|
|
|
|
public interface OutRechargeOrderMapperExt {
|
|
|
|
|
|
|
|
@Select(value = {
|
|
|
|
"<script>",
|
|
|
|
"SELECT DATE_FORMAT(create_timed, '%Y-%m-%d') as day,",
|
|
|
|
"count(1) as count,",
|
|
|
|
"sum(pay_price) as pay_price,",
|
|
|
|
"sum(order_price) as order_price,",
|
|
|
|
"`status`",
|
|
|
|
"from out_recharge_order",
|
|
|
|
"where ",
|
|
|
|
" create_timed between #{finishTimeS} and #{finishTimeE} " ,
|
|
|
|
"<if test='status != null'> and status = #{status} </if>",
|
|
|
|
"GROUP BY day",
|
|
|
|
"</script>"
|
|
|
|
})
|
|
|
|
@Results({
|
|
|
|
@Result(column="count", property="count", jdbcType=JdbcType.BIGINT),
|
|
|
|
@Result(column="day", property="day", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="pay_price", property="payPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="order_price", property="orderPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
|
|
|
|
})
|
|
|
|
List<OutOrderModel> getListOrderCount(String finishTimeS , String finishTimeE , Integer status);
|
|
|
|
|
|
|
|
@Select(value = {
|
|
|
|
"<script>",
|
|
|
|
"select agent_name, count(1) as count, sum(pay_price) as pay_price",
|
|
|
|
"from high_agent ha",
|
|
|
|
"right join out_recharge_order oro on ha.agent_key = oro.agent_key",
|
|
|
|
"where ha.type = 2 and oro.status in (3)",
|
|
|
|
" and finish_time between #{finishTimeS} and #{finishTimeE} " ,
|
|
|
|
"GROUP BY agent_name",
|
|
|
|
"</script>"
|
|
|
|
})
|
|
|
|
@Results({
|
|
|
|
@Result(column="count", property="count", jdbcType=JdbcType.BIGINT),
|
|
|
|
@Result(column="agent_name", property="agentName", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="pay_price", property="payPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
})
|
|
|
|
List<OutUserOrderModel> getListUserCount(String finishTimeS , String finishTimeE);
|
|
|
|
|
|
|
|
@Select({"<script>" +
|
|
|
|
"SELECT" +
|
|
|
|
" a.order_no orderNo," +
|
|
|
|
" a.user_name userName," +
|
|
|
|
" a.user_phone userPhone," +
|
|
|
|
" case a.recharge_model when 1 then '电信话费' when 2 then '移动话费' when 3 then '联通话费' end rechargeModelName," +
|
|
|
|
" case a.recharge_type when 1 then '快充' when 2 then '慢充' end rechargeTypeName," +
|
|
|
|
" a.recharge_content rechargeContent," +
|
|
|
|
" a.remarks remarks," +
|
|
|
|
" a.id_card cardNo," +
|
|
|
|
" a.recharge_name rechargeName," +
|
|
|
|
" case a.pay_type when 1 then '微信' when 2 then '工会卡' when 3 then '积分' when 4 then '银联' end payTypeName," +
|
|
|
|
" a.order_price orderPrice," +
|
|
|
|
" a.pay_price payPrice," +
|
|
|
|
" a.pay_real_price payRealPrice," +
|
|
|
|
" case a.status when 1 then '待支付' when 2 then '已支付' when 3 then '已完成' when 4 then '已取消' when 5 then '已退款' when 6 then '退款中' end statusName," +
|
|
|
|
" a.create_timed createTime," +
|
|
|
|
" a.pay_time payTime," +
|
|
|
|
" a.cancel_time cancelTime," +
|
|
|
|
" a.finish_time finishTime," +
|
|
|
|
" a.refund_time refundTime," +
|
|
|
|
" a.refund_fee refundFee," +
|
|
|
|
" a.out_refund_no outRefundNo," +
|
|
|
|
" a.refund_id refundId" +
|
|
|
|
" FROM" +
|
|
|
|
" out_recharge_order a where 1 = 1 " +
|
|
|
|
"<if test='map.status != null'> and a.`status` = #{map.status} </if>",
|
|
|
|
"<if test='map.payType != null'> and a.`pay_type` = #{map.payType} </if>",
|
|
|
|
"<if test='map.code != null'> and a.`Identification_code` = #{map.code} </if>",
|
|
|
|
"<if test='map.orderNo != null'> and a.`order_no` = #{map.orderNo} </if>",
|
|
|
|
"<if test='map.rechargeType != null'> and a.`recharge_type` = #{map.rechargeType} </if>",
|
|
|
|
"<if test='map.rechargeModel != null'> and a.`recharge_model` = #{map.rechargeModel} </if>",
|
|
|
|
"<if test='map.rechargeContent != null'> and a.`recharge_content` LIKE '%${map.rechargeContent}%' </if>",
|
|
|
|
"<if test='map.idCard != null'> and a.`id_card` LIKE '%${map.idCard}%' </if>",
|
|
|
|
"<if test='map.userPhone != null'> and a.`user_phone` = #{map.userPhone} </if>",
|
|
|
|
"<if test='map.createTimeS != null'> <![CDATA[ and a.create_timed >= #{map.createTimeS} ]]> </if>",
|
|
|
|
"<if test='map.createTimeE != null'> <![CDATA[ and a.create_timed <= #{map.createTimeE} ]]> </if>",
|
|
|
|
"<if test='map.payTimeS != null'> <![CDATA[ and a.pay_time >= #{map.payTimeS} ]]> </if>",
|
|
|
|
"<if test='map.payTimeE != null'> <![CDATA[ and a.pay_time <= #{map.payTimeE} ]]> </if>",
|
|
|
|
" ORDER BY" +
|
|
|
|
" a.create_timed DESC " +
|
|
|
|
"</script>"
|
|
|
|
})
|
|
|
|
List<OutRechargeOrderModel> selectOrderCount(@Param("map") Map<String,Object> map);
|
|
|
|
|
|
|
|
|
|
|
|
@Select({"SELECT * FROM out_recharge_order ho WHERE TIMESTAMPDIFF(MINUTE,ho.create_timed,SYSDATE()) > 15 AND ho.status = 1"})
|
|
|
|
@Results({
|
|
|
|
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
|
|
|
|
@Result(column="order_no", property="orderNo", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="mem_discount_id", property="memDiscountId", jdbcType=JdbcType.BIGINT),
|
|
|
|
@Result(column="mem_discount_name", property="memDiscountName", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT),
|
|
|
|
@Result(column="user_name", property="userName", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="user_phone", property="userPhone", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="recharge_model", property="rechargeModel", jdbcType=JdbcType.INTEGER),
|
|
|
|
@Result(column="pay_type", property="payType", jdbcType=JdbcType.INTEGER),
|
|
|
|
@Result(column="pay_price", property="payPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="order_price", property="orderPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="pay_real_price", property="payRealPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="pay_serial_no", property="paySerialNo", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="deduction_price", property="deductionPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
|
|
|
|
@Result(column="recharge_content", property="rechargeContent", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="recharge_name", property="rechargeName", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="id_card", property="idCard", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="create_timed", property="createTimed", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="cancel_time", property="cancelTime", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="finish_time", property="finishTime", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="remarks", property="remarks", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="out_refund_no", property="outRefundNo", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="refund_time", property="refundTime", jdbcType=JdbcType.TIMESTAMP),
|
|
|
|
@Result(column="refund_id", property="refundId", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="refund_fee", property="refundFee", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="agent_key", property="agentKey", jdbcType=JdbcType.VARCHAR),
|
|
|
|
@Result(column="object_id", property="objectId", jdbcType=JdbcType.INTEGER),
|
|
|
|
@Result(column="Identification_code", property="identificationCode", jdbcType=JdbcType.BIGINT)
|
|
|
|
})
|
|
|
|
List<OutRechargeOrder> getCloseOrder();
|
|
|
|
|
|
|
|
|
|
|
|
@Select(value = {
|
|
|
|
"<script>",
|
|
|
|
"select sum(order_price) orderPrice, sum(pay_real_price) payRealPrice , count(*) count ",
|
|
|
|
"from out_recharge_order where status in (2,3) and Identification_code = #{code}",
|
|
|
|
"</script>"
|
|
|
|
})
|
|
|
|
@Results({
|
|
|
|
@Result(column="payPrice", property="payPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="orderPrice", property="orderPrice", jdbcType=JdbcType.DECIMAL),
|
|
|
|
@Result(column="count", property="count", jdbcType=JdbcType.BIGINT),
|
|
|
|
})
|
|
|
|
OrderCountModel rechargeOrderByIndex(Integer code);
|
|
|
|
}
|