ChargeOrderMapper.xml 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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.kym.mapper.miniapp.ChargeOrderMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.kym.entity.miniapp.ChargeOrder">
  6. <id column="id" property="id"/>
  7. <result column="user_id" property="userId"/>
  8. <result column="station_id" property="stationId"/>
  9. <result column="start_charge_seq" property="startChargeSeq"/>
  10. <result column="connector_id" property="connectorId"/>
  11. <result column="is_booking" property="isBooking"/>
  12. <result column="start_time" property="startTime"/>
  13. <result column="end_time" property="endTime"/>
  14. <result column="soc" property="soc"/>
  15. <result column="total_power" property="totalPower"/>
  16. <result column="total_money" property="totalMoney"/>
  17. <result column="elec_money" property="elecMoney"/>
  18. <result column="service_money" property="serviceMoney"/>
  19. <result column="sum_period" property="sumPeriod"/>
  20. <result column="charge_detail" property="chargeDetail"/>
  21. <result column="order_status" property="orderStatus"/>
  22. <result column="charge_status" property="chargeStatus"/>
  23. <result column="stop_reason" property="stopReason"/>
  24. <result column="invoice_status" property="invoiceStatus"/>
  25. <result column="invoice_id" property="invoiceId"/>
  26. <result column="create_time" property="createTime"/>
  27. <result column="update_time" property="updateTime"/>
  28. </resultMap>
  29. <resultMap id="CustomChargeOrderMap" type="com.kym.entity.admin.vo.CustomOrderVo">
  30. <result column="user_id" property="userId"/>
  31. <result column="mobile_phone" property="mobilePhone"/>
  32. <result column="start_charge_seq" property="startChargeSeq"/>
  33. <result column="station_id" property="stationId"/>
  34. <result column="connector_id" property="connectorId"/>
  35. <result column="is_booking" property="isBooking"/>
  36. <result column="start_time" property="startTime"/>
  37. <result column="end_time" property="endTime"/>
  38. <result column="total_power" property="totalPower"/>
  39. <result column="total_money" property="totalMoney"/>
  40. <result column="elec_money" property="elecMoney"/>
  41. <result column="service_money" property="serviceMoney"/>
  42. <result column="pay_amount" property="payAmount"/>
  43. <result column="discount_amount" property="discountAmount"/>
  44. <result column="service_money_discount" property="serviceMoneyDiscount"/>
  45. <result column="order_status" property="orderStatus"/>
  46. <result column="charge_status" property="chargeStatus"/>
  47. <result column="stop_reason" property="stopReason"/>
  48. <result column="invoice_status" property="invoiceStatus"/>
  49. <result column="invoice_id" property="invoiceId"/>
  50. </resultMap>
  51. <resultMap id="StationStatMap" type="com.kym.entity.admin.vo.StationStatVo">
  52. <!-- <result column="station_id" property="stationId"/>-->
  53. <result column="start_time" property="startTime"/>
  54. <result column="total_orders" property="totalOrders"/>
  55. <result column="total_power" property="totalPower"/>
  56. <result column="total_money" property="totalMoney"/>
  57. <result column="elec_money" property="elecMoney"/>
  58. <result column="service_money" property="serviceMoney"/>
  59. </resultMap>
  60. <!-- 通用查询结果列 -->
  61. <sql id="Base_Column_List">
  62. id, user_id, station_id, start_charge_seq, connector_id, is_booking,start_time, end_time, soc, total_power, total_money, elec_money, service_money,pay_amount,discount_amount,service_money_discount, sum_period, charge_detail, order_status, charge_status, stop_reason, invoice_status,invoice_id,create_time, update_time
  63. </sql>
  64. <select id="statChargeOrders" resultType="java.util.Map"
  65. parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
  66. SELECT
  67. count(*) totalOrders,
  68. sum(t1.total_power) totalPower,
  69. sum(t1.total_money) totalMoney,
  70. sum(t1.elec_money) elecMoney,
  71. sum(t1.service_money) serviceMoney
  72. FROM
  73. t_charge_order t1
  74. LEFT JOIN t_user t2
  75. ON t1.user_id = t2.id
  76. <where>
  77. <if test="params.userId != null">
  78. and t2.user_id = #{params.userId}
  79. </if>
  80. <if test="params.mobilePhone != null and params.mobilePhone != ''">
  81. and t2.mobile_phone = #{params.mobilePhone}
  82. </if>
  83. <if test="params.connectorId != null and params.connectorId != ''">
  84. and t1.connector_id = #{params.connectorId}
  85. </if>
  86. <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
  87. and t1.start_charge_seq = #{params.startChargeSeq}
  88. </if>
  89. <if test="params.stationId != null and params.stationId != ''">
  90. and t1.station_id = #{params.stationId}
  91. </if>
  92. <if test="params.orderStatus != null">
  93. and t1.order_status = #{params.orderStatus}
  94. </if>
  95. <if test="params.startDate != null">
  96. and t1.start_time &gt;= #{params.startDate}
  97. </if>
  98. <if test="params.endDate != null">
  99. and t1.start_time &lt;= #{params.endDate}
  100. </if>
  101. </where>
  102. </select>
  103. <select id="listChargeOrders" resultMap="CustomChargeOrderMap"
  104. parameterType="com.kym.entity.admin.queryParams.CustomChargeOrdersQueryParam">
  105. SELECT
  106. t1.user_id,
  107. t2.mobile_phone,
  108. t1.start_charge_seq,
  109. t1.station_id,
  110. t1.connector_id,
  111. t1.start_time,
  112. t1.end_time,
  113. t1.total_power,
  114. t1.total_money,
  115. t1.elec_money,
  116. t1.service_money,
  117. t1.pay_amount,
  118. t1.discount_amount,
  119. t1.service_money_discount,
  120. t1.order_status,
  121. t1.charge_status,
  122. t1.invoice_status,
  123. t1.stop_reason
  124. FROM
  125. t_charge_order t1
  126. LEFT JOIN t_user t2
  127. ON t1.user_id = t2.id
  128. <where>
  129. <if test="params.userId != null">
  130. and t2.user_id = #{params.userId}
  131. </if>
  132. <if test="params.mobilePhone != null and params.mobilePhone != ''">
  133. and t2.mobile_phone = #{params.mobilePhone}
  134. </if>
  135. <if test="params.connectorId != null and params.connectorId != ''">
  136. and t1.connector_id = #{params.connectorId}
  137. </if>
  138. <if test="params.stationId != null and params.stationId != ''">
  139. and t1.station_id = #{params.stationId}
  140. </if>
  141. <if test="params.startChargeSeq != null and params.startChargeSeq != ''">
  142. and t1.start_charge_seq = #{params.startChargeSeq}
  143. </if>
  144. <if test="params.chargeStatus != null">
  145. and t1.charge_status = #{params.chargeStatus}
  146. </if>
  147. <if test="params.orderStatus != null">
  148. and t1.order_status = #{params.orderStatus}
  149. </if>
  150. <if test="params.startDate != null">
  151. and t1.start_time &gt;= #{params.startDate}
  152. </if>
  153. <if test="params.endDate != null">
  154. and t1.start_time &lt;= #{params.endDate}
  155. </if>
  156. <if test="params.invoiceStatus != null">
  157. and t1.invoice_status = #{params.invoiceStatus}
  158. </if>
  159. <if test="params.stopReason != null">
  160. and t1.stop_reason = #{params.stopReason}
  161. </if>
  162. </where>
  163. order by t1.start_time desc
  164. </select>
  165. <select id="stationStat" resultMap="StationStatMap" parameterType="com.kym.entity.admin.queryParams.StatQueryParam">
  166. SELECT
  167. <if test="params.stationId != null and params.stationId != ''">
  168. t1.station_id,
  169. </if>
  170. <if test="params.type == null or params.type == 'day'">
  171. DATE_FORMAT(t1.start_time, '%Y-%m-%d')
  172. </if>
  173. <if test="params.type != null and params.type == 'month'">
  174. DATE_FORMAT(t1.start_time, '%Y-%m')
  175. </if>
  176. stat_time,
  177. count(t1.id) total_orders,
  178. SUM(t1.total_power) total_power,
  179. SUM(t1.total_money) total_money,
  180. SUM(t1.elec_money) elec_money,
  181. SUM(t1.service_money) service_money
  182. FROM
  183. (SELECT
  184. *
  185. FROM
  186. t_charge_order
  187. <where>
  188. <if test="params.stationId != null and params.stationId != ''">
  189. and station_id = #{params.stationId}
  190. </if>
  191. </where>
  192. ) t1
  193. GROUP BY stat_time
  194. <trim prefix="having" suffixOverrides="and">
  195. <if test="params.startTime != null">
  196. stat_time &gt;= #{params.startTime} and
  197. </if>
  198. <if test="params.endTime != null">
  199. stat_time &lt;= #{params.endTime} and
  200. </if>
  201. </trim>
  202. order by stat_time desc
  203. </select>
  204. <select id="stationTodayStat" resultType="java.util.Map" parameterType="String">
  205. SELECT
  206. COUNT(DISTINCT (t1.user_id)) chargeUsers,
  207. COUNT(t1.id) totalOrders,
  208. IFNULL (SUM(t1.total_power),0) totalPower,
  209. IFNULL(SUM(t1.total_money),0) totalMoney,
  210. IFNULL(SUM(t1.elec_money),0) elecMoney,
  211. IFNULL(SUM(t1.service_money),0) serviceMoney
  212. FROM
  213. (SELECT
  214. *
  215. FROM
  216. t_charge_order
  217. <where>
  218. <if test="stationId != null and stationId != ''">
  219. AND station_id = #{stationId}
  220. </if>
  221. AND start_time &gt;= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
  222. AND start_time &lt;= DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59')) t1
  223. </where>
  224. </select>
  225. </mapper>