OrderGoodsMapper.xml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zhongzheng.modules.order.mapper.OrderGoodsMapper">
  6. <resultMap type="com.zhongzheng.modules.order.domain.OrderGoods" id="OrderGoodsResult">
  7. <result property="id" column="id"/>
  8. <result property="orderSn" column="order_sn"/>
  9. <result property="goodsType" column="goods_type"/>
  10. <result property="goodsId" column="goods_id"/>
  11. <result property="goodsPrice" column="goods_price"/>
  12. <result property="num" column="num"/>
  13. <result property="createTime" column="create_time"/>
  14. <result property="coverUrl" column="cover_url"/>
  15. <result property="goodsName" column="goods_name"/>
  16. <result property="categoryName" column="category_name"/>
  17. </resultMap>
  18. <select id="queryOrderGoodsList" resultMap="OrderGoodsResult">
  19. SELECT
  20. temp.*,
  21. mc.category_name
  22. FROM
  23. (
  24. SELECT
  25. og.*,
  26. CASE
  27. WHEN og.goods_type = 1 THEN
  28. c.course_name
  29. WHEN og.goods_type = 2 THEN
  30. qb.bank_name
  31. WHEN og.goods_type = 3 THEN
  32. en.`name` ELSE '充值商品'
  33. END goods_name,
  34. CASE
  35. WHEN og.goods_type = 1 THEN
  36. c.category_id
  37. WHEN og.goods_type = 2 THEN
  38. qb.category_id
  39. WHEN og.goods_type = 3 THEN
  40. en.category_id ELSE 0
  41. END category_id,
  42. CASE
  43. WHEN og.goods_type = 1 THEN
  44. c.cover_url
  45. WHEN og.goods_type = 2 THEN
  46. qb.cover_url
  47. WHEN og.goods_type = 3 THEN
  48. en.cover_url ELSE NULL
  49. END cover_url
  50. FROM
  51. order_goods og
  52. LEFT JOIN course c ON og.goods_id = c.course_id
  53. AND og.goods_type = 1
  54. LEFT JOIN question_bank qb ON og.goods_id = qb.bank_id
  55. AND og.goods_type = 2
  56. LEFT JOIN exam_note en ON og.goods_id = en.file_id
  57. AND og.goods_type = 3
  58. ) temp
  59. LEFT JOIN major_category mc ON temp.category_id = mc.category_id
  60. <if test="orderSn != null and orderSn != ''" >
  61. WHERE
  62. temp.order_sn = #{orderSn}
  63. </if>
  64. </select>
  65. </mapper>