Helius
2021-08-09 c501a7d724fefb38c99f5b1f4469b5b0833d3c95
gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
@@ -13,20 +13,27 @@
            ,a.weight
            ,a.status
            ,a.remark
            ,date_format(a.receiving_time, '%Y-%m-%d %H:%i') receivingTime
            ,CONCAT(a.reserve_date, ' ', a.reserve_time) reserveTime
            ,GROUP_CONCAT(b.title) items
            ,sum(b.score) recycleScore
            ,IFNULL(SUM(case when d.item_unit = '台' then b.weight
                else 0 end), 0) recycleTai
            ,IFNULL(SUM(case when d.item_unit = 'kg' then b.weight
                else 0 end), 0) recycleKg
            ,c.username jhyName
            ,c.mobile jhyPhone
        from xzx_jhy_order a
        inner join xzx_jhy_order_items b on a.id=b.order_id
        left join xzx_jhy_info c on a.jhy_id=c.id
        left join xzx_jhy_info c on a.jhy_id=c.user_id
        left join xzx_sys_environmental_info d on b.item_type = d.id
        <where>
            <if test="record.type == 1">
                and user_id=#{record.userId}
                and a.user_id=#{record.userId}
            </if>
            <if test="record.type == 2">
                <if test="record.status != 1">
                    and jhy_id=#{record.userId}
                    and a.jhy_id=#{record.userId}
                </if>
            </if>
            <if test="record.status != null and record.status != ''">
@@ -34,5 +41,47 @@
            </if>
        </where>
        group by a.id
        order by a.receiving_time desc, a.id desc
    </select>
    <select id="selectOrderStatusCount" resultType="com.xzx.gc.order.vo.JhyStatusCountVo">
        select
           status,
           count(1) cnt
        from xzx_jhy_order
        <where>
            status=1
            <if test="type == 2">
                and user_id=#{userId}
            </if>
        </where>
        group by status
        union  all
        select
           status,
           count(1) cnt
        from xzx_jhy_order
        <where>
            <if test="type == 1">
                and jhy_id=#{userId}
            </if>
            <if test="type == 2" >
                and user_id=#{userId}
            </if>
        </where>
        group by status
    </select>
    <select id="selectJhyOrderListByStatus" resultType="com.xzx.gc.entity.JhyOrder">
        select * from xzx_jhy_order
        where user_id=#{userId} and status in
        <foreach collection="list" index="index" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
    <select id="selectJhyOrderNoWaitAndCancel" resultType="com.xzx.gc.entity.JhyOrder">
        select * from xzx_jhy_order
        where status not in (1, 5)
    </select>
</mapper>