OrderMapper.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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.ruoyi.info.order.mapper.OrderMapper">
  6. <resultMap type="com.ruoyi.info.order.domain.Order" id="OrderResult">
  7. <result property="id" column="id"/>
  8. <result property="orderNo" column="order_no"/>
  9. <result property="userId" column="user_id"/>
  10. <result property="status" column="status"/>
  11. <result property="hospitalId" column="hospital_id"/>
  12. <result property="hospitalInfo" column="hospital_info"/>
  13. <result property="hospitalDepartmentId" column="hospital_department_id"/>
  14. <result property="hospitalDepartmentInfo" column="hospital_department_info"/>
  15. <result property="roomNumber" column="room_number"/>
  16. <result property="remarks" column="remarks"/>
  17. <result property="patientId" column="patient_id"/>
  18. <result property="patientInfo" column="patient_info"/>
  19. <result property="serviceId" column="service_id"/>
  20. <result property="serviceInfo" column="service_info"/>
  21. <result property="serviceUnit" column="service_unit"/>
  22. <result property="serviceUnitDuration" column="service_unit_duration"/>
  23. <result property="expectedTime" column="expected_time"/>
  24. <result property="orderNum" column="order_num"/>
  25. <result property="sellingPrice" column="selling_price"/>
  26. <result property="totalPrice" column="total_price"/>
  27. <result property="payPrice" column="pay_price"/>
  28. <result property="payMethod" column="pay_method"/>
  29. <result property="payTime" column="pay_time"/>
  30. <result property="payTradeNo" column="pay_trade_no"/>
  31. <result property="workerId" column="worker_id"/>
  32. <result property="cancellationMethod" column="cancellation_method"/>
  33. <result property="cancellationTime" column="cancellation_time"/>
  34. <result property="cancellationReason" column="cancellation_reason"/>
  35. <result property="isReviewed" column="is_reviewed"/>
  36. <result property="createTime" column="create_time"/>
  37. <result property="updateTime" column="update_time"/>
  38. </resultMap>
  39. <select id="queryAllPageList" resultType="com.ruoyi.info.order.domain.vo.OrderVo">
  40. <include refid="queryList"/>
  41. </select>
  42. <select id="queryAllList" resultType="com.ruoyi.info.order.domain.vo.OrderVo">
  43. <include refid="queryList"/>
  44. </select>
  45. <select id="queryHospitalOrderStatistics"
  46. resultType="com.ruoyi.info.hospital.domain.vo.HospitalStatisticsVo">
  47. select o.hospital_id, count(o.id) as orderNum from tb_order o
  48. group by o.hospital_id
  49. order by orderNum desc
  50. limit 10
  51. </select>
  52. <select id="selectOrderWorkerSum" resultType="com.ruoyi.info.order.domain.vo.OrderWorkerSumVo">
  53. select o.worker_id, count(o.id) as count from tb_order o
  54. where o.worker_id is not null
  55. group by o.worker_id
  56. </select>
  57. <sql id="queryList">
  58. select o.*, u.nickname as userName, u.mobile as userMobile from tb_order o
  59. left join tb_user u on u.id = o.user_id
  60. <where>
  61. <if test="bo.orderNo != null and bo.orderNo != ''">
  62. and o.order_no like concat('%', #{bo.orderNo}, '%')
  63. </if>
  64. <if test="bo.userId != null">
  65. and o.user_id = #{bo.userId}
  66. </if>
  67. <if test="bo.status != null">
  68. and o.status = #{bo.status.code}
  69. </if>
  70. <if test="bo.hospitalId != null">
  71. and o.hospital_id = #{bo.hospitalId}
  72. </if>
  73. <if test="bo.userMobile != null and bo.userMobile != ''">
  74. and u.mobile like concat('%', #{bo.userMobile}, '%')
  75. </if>
  76. <if test="bo.serviceName != null and bo.serviceName != ''">
  77. and JSON_UNQUOTE(JSON_EXTRACT(o.service_info, '$.name')) like concat('%', #{bo.serviceName}, '%')
  78. </if>
  79. <if test="bo.startTime != null">
  80. and o.create_time >= #{bo.startTime}
  81. </if>
  82. <if test="bo.endTime != null">
  83. and o.create_time <![CDATA[ <= ]]> #{bo.endTime}
  84. </if>
  85. <if test="bo.isReviewed != null">
  86. and o.is_reviewed = #{bo.isReviewed}
  87. </if>
  88. </where>
  89. order by o.create_time desc
  90. </sql>
  91. </mapper>