一、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 >= #{orderQo.createTimeStart} \n" +
"</if> \n" +
"<if test='orderQo.createTimeEnd != null'> \n" +
" and morder.created_time <= #{orderQo.createTimeEnd} \n" +
"</if> \n" +
"<if test='orderQo.payTimeStart != null'> \n" +
" and morder.paid_time >= #{orderQo.payTimeStart} \n" +
"</if> \n" +
"<if test='orderQo.payTimeEnd != null'> \n" +
" and morder.paid_time <= #{orderQo.payTimeEnd} \n" +
"</if> \n" +
"<if test='orderQo.amountStart != null'> \n" +
" and morder.amount >= #{orderQo.amountStart} \n" +
"</if> \n" +
"<if test='orderQo.amountEnd != null'> \n" +
" and morder.amount <= #{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);
网友评论