yujian
2019-01-18 9557e609e49dd632b6de3ad4fa877a1aeaa0fe4e
订单bug修复
1个文件已修改
36 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/order/CommonOrderMapper.xml
@@ -283,7 +283,7 @@
        </if>
        <if test="day != null and day == 4">  <!-- 上月 -->
            AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
            DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
            DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
        </if>
    </sql>
    
@@ -301,16 +301,20 @@
    
    <sql id="SELECT_PARAM_HONGBAO_STATE">
        <if test="state != null and state == 1">  <!-- 未到账 -->
            AND (v2.hb_state = 1 or v2.hb_state = 2)
            AND (hb.hb_state = 1 or hb.hb_state = 2)
        </if>
        <if test="state != null and state == 2"> <!-- 已到账 -->
            AND v2.hb_state = 3
            AND hb.hb_state = 3
        </if>
        <if test="state != null and state == 3">  <!-- 红包已失效 -->
            AND v2.hb_state =4
        <if test="state != null and state == 3">  <!-- 红包已失效、整个订单失效 -->
            AND hb.hb_state =4 AND co.co_state_whole_order = 3
        </if>
    </sql>
    
    <sql id="Hongbao_Column_List">
        hb_id,hb_uid,hb_urank,hb_pid,hb_type,hb_state,hb_pre_get_time,hb_get_time,hb_version,
        IF(v2.`hb_state` = 4, 0, v2.hb_money)AS hb_money
    </sql>
    <select id="listUserOrder" resultMap="ResultMap">   
        <!-- 查询用户订单 -->
@@ -322,15 +326,15 @@
                co.*
        FROM yeshi_ec_hongbao_order ho 
        
        LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
        LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= #{uid} 
                        <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                        <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
                )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
        LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
        WHERE hb.hb_id IS NOT NULL
              <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
              <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
              <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
              <if test="orderNo != null and orderNo !='' ">
                AND co.co_order_no = #{orderNo}
              </if>
@@ -343,16 +347,16 @@
        <!-- 统计用户订单数量 -->
        SELECT IFNULL(COUNT(ho_id),0) FROM 
            (SELECT ho.ho_id FROM yeshi_ec_hongbao_order ho 
             LEFT JOIN (SELECT * FROM yeshi_ec_hongbao_v2 v2
             LEFT JOIN (SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
                    WHERE v2.`hb_uid`= #{uid} 
                        <include refid="SELECT_PARAM_HONGBAO_TYPE"/>  <!-- 红包类型 -->
                        <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
                )hb ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
                
              LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
             WHERE hb.hb_id IS NOT NULL
                     <include refid="SELECT_PARAM_ORDER_STATE"/>        <!-- 订单状态 -->
                   <include refid="SELECT_PARAM_ORDER_CREATE_TIME"/>  <!-- 订单时间 -->
                   <include refid="SELECT_PARAM_HONGBAO_STATE"/> <!-- 红包状态 -->
                   <if test="orderNo != null and orderNo !='' ">
                        AND co.co_order_no = #{orderNo}
                   </if>
@@ -401,7 +405,7 @@
                </if>
                <if test="day != null and day == 4">  <!-- 上月 -->
                    AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                    DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
                    DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                </if>
            GROUP BY co.`co_order_no`, co.`co_source_type`)YX
            
@@ -428,7 +432,7 @@
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)WQ
                
@@ -456,7 +460,7 @@
                    </if>
                    <if test="day != null and day == 4">  <!-- 上月 -->
                        AND PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'),
                        DATE_FORMAT(co.`co_third_create_time`, '%Y%m')) = 1
                        DATE_FORMAT(co.`co_settle_time`, '%Y%m')) = 1
                    </if>
                GROUP BY co.`co_order_no`, co.`co_source_type`)SX
        )A
@@ -533,7 +537,7 @@
        SELECT COALESCE(SUM(hb.`hb_money`),0)AS totalmoney
        FROM yeshi_ec_hongbao_order ho     
        LEFT JOIN ( 
            SELECT * FROM yeshi_ec_hongbao_v2 v2
            SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
            WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
                  AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
        ) hb  ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
@@ -550,7 +554,7 @@
            (SELECT CAST(SUM(hb.`hb_money`) AS DECIMAL(19,2))AS moneys    
            FROM yeshi_ec_hongbao_order ho     
            LEFT JOIN ( 
                SELECT * FROM yeshi_ec_hongbao_v2 v2
                SELECT <include refid="Hongbao_Column_List"/> FROM yeshi_ec_hongbao_v2 v2
                WHERE v2.`hb_uid`=${uid} <include refid="SELECT_PARAM_HONGBAO_TYPE" />
                      AND (v2.hb_state = 1 or v2.hb_state = 2 or v2.hb_state = 3)
            ) hb  ON IF(hb.hb_pid IS NULL,hb.hb_id,hb.hb_pid)=ho.`ho_hongbao_id`
@@ -558,9 +562,6 @@
            LEFT JOIN yeshi_ec_common_order co ON co.`co_id`=ho.`ho_order_id`
            WHERE hb.hb_id IS NOT NULL 
                <include refid="SELECT_PARAM_ORDER_CREATE_TIME" />
                <if test="day == null">
                    AND <![CDATA[co.`co_state` <> 2]]> <!-- 统计有效的 -->
                </if>
                <if test="day != null and day == 4"> 
                    AND co.`co_state` = 2 <!-- 上月 :统计已收货 -->
                </if>
@@ -685,6 +686,7 @@
        LEFT JOIN yeshi_ec_common_order_goods cog ON cog.`cog_id`= co.`co_order_goods_id`
        WHERE hb.hb_id IS NOT NULL
            <include refid="SELECT_PARAM_ORDER_STATE"/>   <!-- 订单状态 -->
            <if test="startTime != null and startTime != '' ">
                AND <![CDATA[co.co_third_create_time >= #{startTime}]]>
            </if>