OmsOrderDao.xml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.hwrj.cloud.admin.dao.OmsOrderDao">
  4. <resultMap id="orderDetailResultMap" type="com.hwrj.cloud.admin.dto.OmsOrderDetail" extends="com.hwrj.cloud.admin.mapper.OmsOrderMapper.BaseResultMap">
  5. <collection property="orderItemList" resultMap="com.hwrj.cloud.admin.mapper.OmsOrderItemMapper.BaseResultMap" columnPrefix="item_"/>
  6. <collection property="historyList" resultMap="com.hwrj.cloud.admin.mapper.OmsOrderOperateHistoryMapper.BaseResultMap" columnPrefix="history_"/>
  7. </resultMap>
  8. <select id="getList" resultMap="com.hwrj.cloud.admin.mapper.OmsOrderMapper.BaseResultMap">
  9. SELECT
  10. a.*
  11. FROM
  12. oms_order a
  13. JOIN oms_order_item b ON b.order_id=a.id
  14. JOIN pms_product c ON c.id = b.product_id
  15. WHERE
  16. a.delete_status = 0
  17. <if test="queryParam.compId!=null and queryParam.compId!=''">
  18. AND c.comp_id = #{queryParam.compId}
  19. </if>
  20. <if test="queryParam.orderSn!=null and queryParam.orderSn!=''">
  21. AND a.order_sn = #{queryParam.orderSn}
  22. </if>
  23. <if test="queryParam.status!=null">
  24. AND a.`status` = #{queryParam.status}
  25. </if>
  26. <if test="queryParam.sourceType!=null">
  27. AND a.source_type = #{queryParam.sourceType}
  28. </if>
  29. <if test="queryParam.orderType!=null">
  30. AND a.order_type = #{queryParam.orderType}
  31. </if>
  32. <if test="queryParam.startTime!=null">
  33. AND a.create_time <![CDATA[>=]]> #{queryParam.startTime}
  34. </if>
  35. <if test="queryParam.endTime!=null">
  36. AND a.create_time <![CDATA[<=]]> #{queryParam.endTime}
  37. </if>
  38. <if test="queryParam.receiverKeyword!=null and queryParam.receiverKeyword!=''">
  39. AND (
  40. a.receiver_name LIKE concat("%",#{queryParam.receiverKeyword},"%")
  41. OR a.receiver_phone LIKE concat("%",#{queryParam.receiverKeyword},"%")
  42. )
  43. </if>
  44. order by a.id desc
  45. </select>
  46. <update id="delivery">
  47. UPDATE oms_order
  48. SET
  49. delivery_sn = CASE id
  50. <foreach collection="list" item="item">
  51. WHEN #{item.orderId} THEN #{item.deliverySn}
  52. </foreach>
  53. END,
  54. delivery_company = CASE id
  55. <foreach collection="list" item="item">
  56. WHEN #{item.orderId} THEN #{item.deliveryCompany}
  57. </foreach>
  58. END,
  59. delivery_time = CASE id
  60. <foreach collection="list" item="item">
  61. WHEN #{item.orderId} THEN now()
  62. </foreach>
  63. END,
  64. `status` = CASE id
  65. <foreach collection="list" item="item">
  66. WHEN #{item.orderId} THEN 2
  67. </foreach>
  68. END
  69. WHERE
  70. id IN
  71. <foreach collection="list" item="item" separator="," open="(" close=")">
  72. #{item.orderId}
  73. </foreach>
  74. AND `status` = 1
  75. </update>
  76. <select id="getDetail" resultMap="orderDetailResultMap">
  77. SELECT o.*,
  78. oi.id item_id,
  79. oi.product_id item_product_id,
  80. oi.product_sn item_product_sn,
  81. oi.product_pic item_product_pic,
  82. oi.product_name item_product_name,
  83. oi.product_brand item_product_brand,
  84. oi.product_price item_product_price,
  85. oi.product_quantity item_product_quantity,
  86. oi.product_attr item_product_attr,
  87. oh.id history_id,
  88. oh.operate_man history_operate_man,
  89. oh.create_time history_create_time,
  90. oh.order_status history_order_status,
  91. oh.note history_note
  92. FROM
  93. oms_order o
  94. LEFT JOIN oms_order_item oi ON o.id = oi.order_id
  95. LEFT JOIN oms_order_operate_history oh ON o.id = oh.order_id
  96. WHERE
  97. o.id = #{id}
  98. ORDER BY oi.id ASC,oh.create_time DESC
  99. </select>
  100. </mapper>