02-注解开发

2021-08-13  本文已影响0人  紫荆秋雪_文

一、List

    @Select({
            "<script>",
            "SELECT * FROM t_purchase_order_bill_item WHERE deleted = 0 AND purchase_id IN",
            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>"
    })
    List<PurchaseOrderBillItemEntity> selectBatchByPurchaseIds(@Param("ids") List<String> ids);
    @Delete({
            "<script>",
            "DELETE FROM t_attr_attrgroup_relation WHERE attr_group_id = #{attGroupId} AND attr_id IN",
            "<foreach collection='vos' item='id' open='(' separator=',' close=')'>",
            "#{id}",
            "</foreach>",
            "</script>"
    })

二、拼接SQL

@Select("<script> \n" +
            "SELECT DISTINCT morder.sn, morder.created_time, morder.shipping_name, morder.shipping_mobile, morder.shipping_country, morder.shipping_province, \n" +
            "morder.shipping_city, morder.shipping_district, morder.shipping_address, morder.shipping_user_address, morder.amount, morder.`status`\n" +
            "FROM m_order morder \n" +
            "LEFT JOIN m_order_sku sku \n" +
            "ON morder.sn = sku.order_sn \n" +
            "LEFT JOIN m_order_sub sub \n" +
            "ON sku.order_sub_sn = sub.sub_sn \n" +
            "<where> \n" +
            "<if test='orderQo.orderSn != null'> \n" +
            " and morder.paid_sn=#{orderQo.orderSn} \n" +
            "</if> \n" +
            "<if test='orderQo.userName != null'> \n" +
            " and morder.shipping_name=#{orderQo.userName} \n" +
            "</if> \n" +
            "<if test='orderQo.userMobile != null'> \n" +
            " and morder.shipping_mobile=#{orderQo.userMobile} \n" +
            "</if> \n" +
            "<if test='orderQo.payAccount != null'> \n" +
            " and morder.paid_merchant=#{orderQo.payAccount} \n" +
            "</if> \n" +
            "<if test='orderQo.orderType != null'> \n" +
            " and morder.order_type=#{orderQo.orderType} \n" +
            "</if> \n" +
            "<if test='orderQo.platformSource != null'> \n" +
            " and morder.platform_source=#{orderQo.platformSource} \n" +
            "</if> \n" +
            "<if test='orderQo.paidType != null'> \n" +
            " and morder.paid_type=#{orderQo.paidType} \n" +
            "</if> \n" +
            "<if test='orderQo.paidSn != null'> \n" +
            " and morder.sn=#{orderQo.paidSn} \n" +
            "</if> \n" +
            "<if test='orderQo.createTimeStart != null'> \n" +
            " and morder.created_time &gt;= #{orderQo.createTimeStart} \n" +
            "</if> \n" +
            "<if test='orderQo.createTimeEnd != null'> \n" +
            " and morder.created_time &lt;= #{orderQo.createTimeEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.payTimeStart != null'> \n" +
            " and morder.paid_time &gt;= #{orderQo.payTimeStart} \n" +
            "</if> \n" +
            "<if test='orderQo.payTimeEnd != null'> \n" +
            " and morder.paid_time &lt;= #{orderQo.payTimeEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.amountStart != null'> \n" +
            " and morder.amount &gt;= #{orderQo.amountStart} \n" +
            "</if> \n" +
            "<if test='orderQo.amountEnd != null'> \n" +
            " and morder.amount &lt;= #{orderQo.amountEnd} \n" +
            "</if> \n" +
            "<if test='orderQo.name != null'> \n" +
            " and sku.spu_name=#{orderQo.name} \n" +
            "</if> \n" +
            "<if test='orderQo.goodsId != null'> \n" +
            " and sku.spu_id=#{orderQo.goodsId} \n" +
            "</if> \n" +
            "<if test='orderQo.goodsCode != null'> \n" +
            " and JSON_CONTAINS(sku.goods_codes->'$[*].code', JSON_QUOTE(#{orderQo.goodsCode}), '$')" +
            "</if> \n" +
            "<if test='orderQo.supplierId != null'> \n" +
            " and sub.supplier_id = #{orderQo.supplierId} \n" +
            "</if> \n" +
            "<if test='orderQo.depotId != null'> \n" +
            " and sub.depot_id = #{orderQo.depotId} \n" +
            "</if> \n" +
            "</where> \n" +
            "<if test='page != null'> \n" +
            " LIMIT #{page} \n" +
            "</if> \n" +
            "<if test='size != null'> \n" +
            " , #{size} \n" +
            "</if> \n" +
            "</script>"
    )
    List<OrderListDto> fetchOrderList(@Param("page") int page, @Param("size") int size, @Param("orderQo") OrderQo orderQo);
上一篇 下一篇

猜你喜欢

热点阅读