| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.yc.ship.module.trade.dal.mysql.order.TradeVisitorMapper">
- <select id="selectVisitorListBySupplierOrder"
- resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
- select v.*,d.voucher_code
- FROM trade_detail_base db
- INNER JOIN trade_detail d on d.id = db.detail_id
- INNER JOIN trade_visitor v on v.detail_id = d.id
- <where>
- db.plat_supplier_order_id = #{platSupplierOrderId}
- </where>
- group by v.id
- order by v.detail_id
- </select>
- <select id="selectVisitorListBySpecType"
- resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
- select v.*
- FROM trade_detail_base db
- INNER JOIN trade_detail d on d.id = db.detail_id
- INNER JOIN trade_visitor v on v.detail_id = d.id
- <where>
- db.plat_supplier_order_id = #{platSupplierOrderId}
- and db.spec_type = #{specType}
- and db.product_base_id in
- <foreach collection="baseList" index="index" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- </where>
- group by v.id
- order by v.detail_id
- </select>
- <select id="selectVisitorVoucherListByOrderId"
- resultType="com.yc.ship.module.trade.service.order.bo.TradeVisitorBO">
- select v.*,d.voucher_code,d.quantity_of_one
- FROM trade_detail d
- LEFT JOIN trade_visitor v on v.detail_id = d.id
- <where>
- d.order_id = #{orderId}
- </where>
- order by d.id
- </select>
- <select id="selectInsureVisitor"
- resultType="com.yc.ship.module.trade.service.order.bo.TradeVisitorBO">
- select tv.*,td.use_date
- from trade_detail td
- inner join trade_visitor tv on tv.detail_id = td.id
- <where>
- td.order_id =#{orderId} and td.voucher_status not in (4,5) and td.voucher_status>=1 and tv.is_insure =1
- and td.product_id=#{productId}
- </where>
- </select>
- <select id="selectContractVisitor"
- resultType="com.yc.ship.module.trade.service.order.bo.TradeVisitorBO">
- select tv.*,td.use_date
- from trade_detail td
- inner join trade_visitor tv on tv.detail_id = td.id
- <where>
- td.order_id =#{orderId} and td.voucher_status not in (4,5) and td.voucher_status>=1
- and td.product_id=#{productId}
- </where>
- </select>
- <select id="selectSupplierVisitor"
- resultType="com.yc.ship.module.trade.service.order.bo.TradeVisitorBO">
- select tdb.supplier_voucher_code, v.*
- from trade_detail_base tdb
- inner join trade_visitor v on v.detail_id = tdb.detail_id
- <where>
- tdb.plat_supplier_order_id = #{platSupplierOrderId}
- <if test="visitorIdList!=null">
- and v.id in
- <foreach collection="visitorIdList" item="item" separator="," open="(" close=")">
- #{item}
- </foreach>
- </if>
- </where>
- </select>
- <select id="selectShipVisitor"
- resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
- select t.product_type productType,v.*,t3.id_card jzCard,t3.arrive_time jzTime,t3.phone jzPhone,t3.address jzAddress from trade_detail t inner join trade_visitor v on v.detail_id = t.id
- left join trade_order_jz_detail t3 on v.credential_no = t3.id_card and t3.deleted =0
- where t.order_id = #{orderId} and v.deleted =0 and t.product_type =0 and t.deleted =0
- group by v.id
- </select>
- <select id="queryRelatedVisitor"
- resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
- SELECT v1.*, v2.id associatedVisitorId
- FROM trade_visitor v1
- INNER JOIN trade_visitor v2 ON v2.ota_detail_id = v1.detail_id
- WHERE v2.id in
- <foreach collection="visitorIds" item="item" separator="," open="(" close=")">
- #{item}
- </foreach>
- UNION ALL
- SELECT v1.*, v2.id associatedVisitorId
- FROM trade_visitor v1
- INNER JOIN trade_visitor v2 ON v2.detail_id = v1.ota_detail_id
- WHERE v2.id in
- <foreach collection="visitorIds" item="item" separator="," open="(" close=")">
- #{item}
- </foreach>
- </select>
- <select id="selectVisitorListByDate" resultType="com.yc.ship.module.trade.service.order.bo.TradeVisitorBO">
- select tv.*,td.product_name,td.spec_type,td.use_date,prp.name planName
- from trade_detail td
- inner join trade_order tt on td.order_id = tt.id
- left join product_route_plan prp on tt.route_plan_id = prp.id
- inner join trade_visitor tv on td.id = tv.detail_id
- inner join trade_detail_base tdb on td.id = tdb.detail_id
- where td.use_date =#{useDate} and tv.credential_no is not null
- and tdb.project_code='boat'
- and tv.is_push is null
- and td.voucher_status in (1,2,4,8,9)
- <if test="orderId!=null">
- and td.order_id = #{orderId}
- </if>
- <if test="tenantId!=null">
- and td.tenant_id = #{tenantId}
- </if>
- GROUP BY td.id,tv.id
- order by tv.create_time asc
- </select>
- <select id="selectBoatVisitorListByRefund" resultType="com.yc.ship.module.trade.dal.dataobject.order.TradeVisitorDO">
- select tv.*
- from trade_refund tr
- INNER JOIN trade_refund_detail_base trdb on trdb.refund_id = tr.id
- INNER JOIN trade_detail_base tdb on tdb.id = trdb.trade_detail_base_id
- INNER JOIN trade_visitor tv on tv.detail_id = trdb.trade_detail_id
- where tr.id = #{refundId} and tdb.project_code = 'boat'
- <if test="useDate!=null">
- and tdb.use_date = #{useDate}
- </if>
- GROUP BY tv.id
- </select>
- <select id="selectOrderVisitorCount" resultType="java.lang.Integer">
- select count(*) totalCount
- from trade_detail td
- INNER JOIN trade_visitor tv on tv.detail_id = td.id
- where td.order_id = #{orderId}
- and td.voucher_status !=5
- </select>
- </mapper>
|