KKSU
2024-04-10 529ad9dd8d1876b57e852bc45b602ba3ccc8df2a
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -35,23 +35,32 @@
            <if test="record.orderType != null">
                and a.order_type=#{record.orderType}
            </if>
            <if test="record.deliveryType != null">
                and a.delivery_type=#{record.deliveryType}
            </if>
            <if test="record.takeUniqueCode != null">
                and a.take_unique_code=#{record.takeUniqueCode}
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="selectOrderByMemberIdAndId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where member_id=#{memberId} and id=#{id}
    <select id="selectOrderByMemberIdAndId" resultMap="OrderInfoMap">
        select
            a.*,
            b.goods_name from mall_order_info a
                          inner join mall_order_item b on a.id=b.order_id where a.member_id=#{memberId} and a.id=#{id}
    </select>
    <select id="selectOrderListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo">
        select *,
        select a.*,
               b.name memberName,
               b.bind_phone memberBindPhone,
               b.phone memberPhone
               b.phone memberPhone,
               (select member.name from mall_member member where member.invite_id = b.referrer_id) refererName
        from mall_order_info a
        left join mall_member b on a.member_id = b.id
        inner join mall_member b on a.member_id = b.id
        <where>
            a.del_flag=2
            <if test="record != null">
                <if test="record.payResult != null and record.payResult != ''">
                    and a.pay_result = #{record.payResult}
@@ -62,15 +71,30 @@
                <if test="record.status != null and record.status != ''">
                    and a.status = #{record.status}
                </if>
                <if test="record.deliveryType != null and record.deliveryType != ''">
                    and a.delivery_type = #{record.deliveryType}
                </if>
                <if test="record.isHome != null and record.isHome != ''">
                    and a.is_home = #{record.isHome}
                </if>
                <if test="record.orderNo != null and record.orderNo != ''">
                    and a.order_no like CONCAT('%', CONCAT(#{record.orderNo}, '%'))
                </if>
                <if test="record.name != null and record.name != ''">
                    and b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
                </if>
                <if test="record.uniqueCode != null and record.uniqueCode != ''">
                    and a.take_unique_code = #{record.uniqueCode}
                </if>
                <if test="record.startTime != null and record.startTime != ''">
                    and a.order_time &gt;= #{record.startTime}
                </if>
                <if test="record.endTime != null and record.endTime != ''">
                    and a.order_time &lt;= #{record.endTime}
                </if>
            </if>
        </where>
        order by a.created_time desc
        GROUP BY a.id  order by a.created_time desc
    </select>
    <select id="getMallOrderInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMallOrderVo">
@@ -96,9 +120,26 @@
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="order_type" property="orderType" />
        <result column="comment_state" property="commentState" />
        <result column="carriage" property="carriage" />
        <result column="remark" property="remark" />
        <result column="take_code" property="takeCode" />
        <result column="take_unique_code" property="takeUniqueCode" />
        <result column="delivery_state" property="deliveryState" />
        <result column="is_home" property="isHome" />
        <result column="is_free" property="isFree" />
        <result column="del_flag" property="delFlag" />
        <result column="leader_name" property="leaderName" />
        <result column="leader_phone" property="leaderPhone" />
        <result column="address_pic" property="addressPic" />
        <result column="address_area" property="addressArea" />
        <result column="province" property="province" />
        <result column="leaderLongitude" property="leaderLongitude" />
        <result column="leaderLatitude" property="leaderLatitude" />
        <result column="province" property="province" />
        <result column="city" property="city" />
        <result column="township" property="township" />
        <result column="detail_address" property="detailAddress" />
        <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
            <id property="id" column="item_id" />
            <result property="orderId" column="order_id" />
@@ -112,29 +153,21 @@
            <result property="price" column="price" />
            <result property="amount" column="amount" />
            <result property="isNormal" column="is_normal" />
            <result property="memberInviteId" column="member_invite_id" />
            <result property="memberCouponId" column="member_coupon_id" />
            <result property="state" column="state" />
        </collection>
    </resultMap>
    <select id="selectApiOrderListInPage" resultMap="OrderInfoMap">
    <select id="selectApiOrderListInPage" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select
               a.*,
               b.id item_id,
               b.order_id,
               b.goods_id,
               b.sku_id,
               b.goods_name,
               b.style_name,
               b.sku_name,
               b.sku_image,
               b.cnt,
               b.price,
               b.amount
               a.*
        from mall_order_info a
         inner join mall_order_item b on a.id=b.order_id
        inner join mall_order_item b on a.id=b.order_id
        <where>
            a.del_flag=2
            <if test="record.query != null and record.query != ''">
                and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            </if>
            <if test="record.status == 4 and record.status != 0">
                and a.status = 4
@@ -143,10 +176,10 @@
                and a.status = #{record.status}
            </if>
            <if test="record.status == 5">
                and a.status = 7
                and a.status = 7 or b.state in (2,3)
            </if>
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            <if test="record.query != null and record.query != ''">
                and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
            </if>
            <if test="record.orderType != null">
                and a.order_type=#{record.orderType}
@@ -166,9 +199,12 @@
            b.style_name,
            b.sku_name,
            b.sku_image,
            b.state,
            b.cnt,
            b.price,
            b.amount,
            b.member_invite_id,
            b.member_coupon_id,
            b.is_normal
        from mall_order_info a
             inner join mall_order_item b on a.id=b.order_id
@@ -177,15 +213,17 @@
    <select id="selectMemberOrderStatusCnt" resultType="java.util.Map">
        select
            status,
            a.status,
            count(1) cnt
        from mall_order_info
        where del_flag=2 and member_id=#{memberId}
        group by status
        from mall_order_info a
        where a.del_flag=2 and a.member_id=#{memberId} and order_type = 1
        group by a.status
    </select>
    <select id="getMallOrderDetailById" resultType="cc.mrbird.febs.mall.vo.AdminOrderDetailVo">
        select * from mall_order_info a where a.id = #{id}
        select a.*,b.area addressArea,b.address addressInfo from mall_order_info a
        left join mall_address_info b on a.address_id = b.id
        where a.id = #{id}
    </select>
    <select id="getMallOrderItemByOrderId" resultType="cc.mrbird.febs.mall.entity.MallOrderItem">
@@ -194,6 +232,14 @@
    <select id="selectOrderInfoByStatus" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where status=#{status}
    </select>
    <select id="selectOrderInfoByStatusAndIsInvoice" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where status = #{status} and is_invoice = #{isInvoice}
    </select>
    <select id="selectOrderInfoUpTime" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where status=#{status} and now() > date_add(order_time,interval 1440 minute)
    </select>
    <select id="selectCntDirectOrTeam" resultType="java.lang.Integer">
@@ -268,7 +314,7 @@
    <update id="updateOrderConfirmStatus">
        update mall_order_info
        set status=4,
            receiving_time=new Date()
            receiving_time=#{updateTime}
        where status=3 and date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
    </update>
@@ -277,4 +323,152 @@
        inner join mall_order_item b on a.id=b.order_id and b.is_normal=1
        where date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
    </select>
    <select id="selectSumAmountByPayMethodAndStatue" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
        where pay_method = #{payMethod} and status = #{statue}
    </select>
    <update id="updateOrderStateAndDeliveryState">
        update mall_order_info
        set status = #{orderState},
            delivery_state = #{deliveryState}
        where id = #{orderId}
    </update>
    <select id="selectMemberOrderStatusCntByUniquecode" resultType="java.util.Map">
        select
            status,
            count(1) cnt
        from mall_order_info
        where del_flag = 2 and take_unique_code = #{uniqueCode}
        group by status
    </select>
    <select id="selectOrderByStatusAndPayTime" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where status=#{status}
         and date_format(pay_time, '%Y-%m-%d') = date_format(#{paytime}, '%Y-%m-%d')
    </select>
    <resultMap id="NewOrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
        <id column="id" property="id" />
        <result column="order_no" property="orderNo" />
        <result column="member_id" property="memberId" />
        <result column="order_time" property="orderTime" />
        <result column="pay_time" property="payTime" />
        <result column="amount" property="amount" />
        <result column="pay_method" property="payMethod" />
        <result column="pay_order_no" property="payOrderNo" />
        <result column="pay_result" property="payResult" />
        <result column="status" property="status" />
        <result column="cancel_type" property="cancelType" />
        <result column="name" property="name" />
        <result column="phone" property="phone" />
        <result column="address" property="address" />
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="order_type" property="orderType" />
        <result column="comment_state" property="commentState" />
        <result column="carriage" property="carriage" />
        <result column="remark" property="remark" />
        <result column="take_code" property="takeCode" />
        <result column="take_unique_code" property="takeUniqueCode" />
        <result column="delivery_state" property="deliveryState" />
        <result column="is_home" property="isHome" />
        <result column="is_free" property="isFree" />
        <result column="del_flag" property="delFlag" />
        <result column="leader_name" property="leaderName" />
        <result column="leader_phone" property="leaderPhone" />
        <result column="address_pic" property="addressPic" />
        <result column="address_area" property="addressArea" />
        <result column="province" property="province" />
        <result column="leaderLongitude" property="leaderLongitude" />
        <result column="leaderLatitude" property="leaderLatitude" />
        <result column="province" property="province" />
        <result column="city" property="city" />
        <result column="township" property="township" />
        <result column="detail_address" property="detailAddress" />
        <result column="express_no" property="expressNo" />
    </resultMap>
    <select id="selectNewApiOrderListInPage" resultMap="NewOrderInfoMap">
        select
        a.*
        ,express.express_no
        from mall_order_info a
            left join mall_express_info express on a.id=express.order_id
        <where>
            a.del_flag=2
            <if test="record.memberId != null">
                and a.member_id=#{record.memberId}
            </if>
            <if test="record.status == 4 and record.status != 0">
                and a.status = 4
            </if>
            <if test="record.status != 4 and record.status != 0 and record.status != 5">
                and a.status = #{record.status}
            </if>
            <if test="record.status == 5">
                and a.status = 7 or b.state in (2,3)
            </if>
            <if test="record.orderType != null">
                and a.order_type=#{record.orderType}
            </if>
        </where>
        order by a.created_time desc
    </select>
    <select id="selectByIdAndTakeUniqueCode" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where id = #{orderId} and take_unique_code = #{takeUniqueCode}
    </select>
    <select id="selectAllOrderInfoByIdAndTakeUniqueCode" resultMap="OrderInfoMap">
        select
        a.*,
        b.goods_name,
        b.sku_name,
        b.cnt,
        b.price,
        b.amount
        from mall_order_info a
        inner join mall_order_item b on a.id=b.order_id
        where a.del_flag=2 and  a.id = #{orderId}
        order by a.created_time desc
    </select>
    <select id="getGoodsStatisticsInPage" resultType="cc.mrbird.febs.mall.vo.AdminGoodsStatisticsVo">
        select
            goods_name goodsName,
            SUM(cnt) goodsCnt
        from mall_order_item
        <where>
        1=1
            <if test="record.orderIdsStr != null">
                and order_id in
                    <foreach collection="record.orderIdsStr" item="id" index="index" open="(" close=")" separator=",">
                        #{id}
                    </foreach>
            </if>
        </where>
            GROUP BY goods_id
            ORDER BY goods_id desc
    </select>
    <select id="selectAmountOrTeamAmount" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(a.amount,0)),0) from mall_order_info a
        inner join mall_member b on a.member_id=b.ID
        <where>
            a.status in (2,3,4)
            <if test="type == 1">
                and b.invite_id=#{inviteId}
            </if>
            <if test="type == 2">
                and FIND_IN_SET(#{inviteId},b.referrer_ids)
            </if>
        </where>
    </select>
    <select id="selectBypayOrderNo" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info where pay_order_no = #{payOrderNo}
    </select>
</mapper>