ChannelFeeMapper.xml 4.04 KB
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lecuntao.ordering.customization.dal.ChannelFeeMapper">
    <sql id="whereForFindList">
        <if test="request.payType!=null"> AND pl.PAY_TYPE = #{ request.payType  }</if>
        <if test="request.startTime!=null"> AND o.CLOSE_TIME &gt;=#{ request.startTime }</if>
        <if test="request.endTime!=null"> AND o.CLOSE_TIME &lt;=#{ request.endTime }</if>
    </sql>
    <sql id="whereForFindDetailList">
        <if test="request.closeTime!=null"> AND DATE_ID = #{ request.closeTime}</if>
        <if test="request.id !=null"> AND m.id = #{ request.id }</if>

    </sql>
    <select id="find" resultMap="channelFeePO">
        select DATE_FORMAT(o.CLOSE_TIME,'%Y-%m-%d') as closeTime ,m.id,m.`NAME`,m.TYPE,pl.PAY_TYPE,SUM(pl.CHANNEL_FEE) as total
        from marketplace.ec_order_head o
        left join marketplace.ec_payment_head ph on o.id = ph.ORDER_HEAD_ID
        left join marketplace.ec_payment_line pl on ph.ID = pl.PAYMENT_HEAD_ID
        left join membership.mem_member m on m.id = o.member_id
        WHERE
        o.`IS_DELETED`=0
        AND o.MEMBER_ID IS NOT NULL
        AND m.id IS NOT NULL
        <include refid="whereForFindList" />
        group by o.CLOSE_DATE_ID,MEMBER_ID,pl.PAY_TYPE
        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>



    </select>
    <select id="findCount" resultType="java.lang.Long">
        SELECT
        COUNT(*)
        from (  select DATE_FORMAT(o.CLOSE_TIME,'%Y-%m-%d') as closeTime ,m.id,m.`NAME`,m.TYPE,pl.PAY_TYPE,SUM(pl.CHANNEL_FEE) as total
        from marketplace.ec_order_head o
        left join marketplace.ec_payment_head ph on o.id = ph.ORDER_HEAD_ID
        left join marketplace.ec_payment_line pl on ph.ID = pl.PAYMENT_HEAD_ID
        left join membership.mem_member m on m.id = o.member_id
        WHERE
        o.`IS_DELETED`=0
        AND o.MEMBER_ID IS NOT NULL
        AND m.id IS NOT NULL
        <include refid="whereForFindList" />
        group by o.CLOSE_DATE_ID,MEMBER_ID,pl.PAY_TYPE) as temp
    </select>
    <select id="findDetail" resultMap="channelFeeDetailPO">
        select ou.`NAME` as name,st.`NAME` as storeName,m.id as id,m.`NAME`as memberName,m.TYPE as memberType,DATE_ID as dateId,
        o.SOURCE_NUMBER as sourceNumber,o.TOTAL_AMOUNT as totalAmount,o.REVENUE_AMOUNT as revenueAmount,pl.PAY_TYPE as payType,pl.CHANNEL_FEE as channelFee
        from marketplace.ec_order_head o
        left join marketplace.ec_payment_head ph on o.id = ph.ORDER_HEAD_ID
        left join marketplace.ec_payment_line pl on ph.ID = pl.PAYMENT_HEAD_ID
        left join membership.mem_member m on m.id = o.member_id
        left join backend.hr_operating_unit ou on ou.ID = o.OPERATING_UNIT_ID
        left join backend.md_store st on st.id = o.STORE_ID
        WHERE
        o.`IS_DELETED`=0
        <include refid="whereForFindDetailList" />
        <if test="request.pageSize !=0">
            LIMIT #{ request.beginItemIndex }, #{ request.pageSize }
        </if>

    </select>
    <select id="findDetailCount" resultType="java.lang.Long">
        SELECT
        COUNT(*)
        from ( select ou.`NAME` as name,st.`NAME` as storeName,m.id as id,m.`NAME`as memberName,m.TYPE as memberType,DATE_ID as dateId,
        o.SOURCE_NUMBER as sourceNumber,o.TOTAL_AMOUNT as totalAmount,o.REVENUE_AMOUNT as revenueAmount,pl.PAY_TYPE as payType,pl.CHANNEL_FEE as channelFee
        from marketplace.ec_order_head o
        left join marketplace.ec_payment_head ph on o.id = ph.ORDER_HEAD_ID
        left join marketplace.ec_payment_line pl on ph.ID = pl.PAYMENT_HEAD_ID
        left join membership.mem_member m on m.id = o.member_id
        left join backend.hr_operating_unit ou on ou.ID = o.OPERATING_UNIT_ID
        left join backend.md_store st on st.id = o.STORE_ID
        WHERE
        o.`IS_DELETED`=0
        <include refid="whereForFindDetailList" />)  as temp


    </select>


</mapper>